gpt4 book ai didi

C型数据操作

转载 作者:行者123 更新时间:2023-11-30 14:37:47 26 4
gpt4 key购买 nike

我是 C 语言的新手,我正在尝试对两种不同的数据类型进行 XOR 运算,然后将结果存储在偏移量 1 处的字节数组中。该数组是固定的,并且将始终是8 字节。我想与大家核实一下我是否正确处理了这个问题。

对于背景,我希望 buf 作为 uint8_t 数组的结果,并且我的输入数据类型是一个 char 数组和另一个字节数组应用中恒定。我觉得好像缺少一些选角,但除了询问之外,我不知道该看哪里:

#include <stdio.h>
#include <stdint.h>

int main()
{
uint8_t HANDSHAKE_SN[8] = { 0x13, 0x81, 0x22, 0x13, 0xFA, 0x32, 0x65, 0xFA };
uint8_t buf[8] = { 0x02, 0, 0, 0, 0, 0, 0, 0 };
char sn[8] = "2345678";

for(uint8_t i=1;i<9;i++)
{
buf[i] = sn[i-1] ^ HANDSHAKE_SN[i-1];
}

printf("%s",buf);
}

最佳答案

#include <stdio.h>
#include <stdint.h>


#define ARRAY_LENGTH(arr) (sizeof(arr) / sizeof(arr[0]))

#define TEST_SIZE (8)

int main()
{
uint8_t HANDSHAKE_SN[TEST_SIZE] = { 0x13, 0x81, 0x22, 0x13, 0xFA, 0x32, 0x65, 0xFA };
uint8_t buf[TEST_SIZE] = { 0 };
char sn[TEST_SIZE + 1] = "12345678";

for (uint8_t i = 0; i < ARRAY_LENGTH(buf); ++i)
{
buf[i] = sn[i] ^ HANDSHAKE_SN[i];
printf("0x%hhx\n", buf[i]);
}
}

关于C型数据操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57032169/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com