gpt4 book ai didi

c - C 中的另一个反转字符数组

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

该代码将在支付设备 (POS) 上运行。为此,我必须使用旧版 C(而不是 C# 或 C++)。

我正在尝试准备一个简单的Mifare卡读/写软件数据。下面的文档是我的引用,我正在尝试实现第 9 页 8.6.2.1 值 block 中解释的内容。 http://www.nxp.com/documents/data_sheet/MF1S50YYX_V1.pdf

我只知道 C 语言的基础知识。我在互联网上的所有搜索都失败了。根据文档:

1-存在值为1234567的整型变量。

2- 有 char array[4] 应该具有上述值的十六进制,即 0x0012D687

3-我应该反转该 char 数组 [4] 并达到 0xFFED2978

的值

我需要做一些其他事情,但我一直停留在上面的第 3 件事上。我最后尝试的是

int value = 1234567;
char valuebuffer[4];
char invertbuffer[4];

sprintf(valuebuffer, "%04x", value);
for(i = 0; i < sizeof(valuebuffer); i++ )
{
invertbuffer[i] ^= valuebuffer[i];
}

当我打印时,我在 invertbuffer 中读取了一些其他值,而不是 0xFFED2978

最佳答案

看来你让事情变得比需要的更复杂了。您可以对 int 变量进行二进制反转,而不是搞乱各个字节。

int value = 1234567;
int inverted= ~ value;

printf("%x\n",value);
printf("%x\n",inverted);

给你输出

12d687

ffed2978

关于c - C 中的另一个反转字符数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53748199/

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