gpt4 book ai didi

在 C 中将 Char 数组转换为 Long 错误

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

我尝试将 unsigned long int 转换为 char但我遇到了一些错误

int main(void)
{
unsigned char pdest[4];
unsigned long l=0xFFFFFFFF;
pdest[0] = l & 0xFF;
pdest[1] = (l >> 8) & 0xFF;
pdest[2] = (l >> 16) & 0xFF;
pdest[3] = (l >> 24) & 0xFF;

unsigned long int l1=0;
l1 |= (pdest[0]);
l1 |= (pdest[1] << 8);
l1 |= (pdest[2] << 16);
l1 |= (pdest[3] << 24);

printf ("%lu",l1);
}

输出为

18446744073709551615

不是 4294967295?

如何正确执行?

最佳答案

阅读此内容: https://en.wikipedia.org/wiki/C_data_types

...Long unsigned integer type. Capable of containing at least the [0, 4,294,967,295] range;

关于在 C 中将 Char 数组转换为 Long 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50304349/

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