可能是 C 程序员最简单的事情之一,但我真的无法理解。
unsigned char Value[4];
unsigned long ulVer = 00010001;
unsigned long uSize = sizeof(ulVer);
memcpy(Value, &ulVer, uSize);
memcpy(&ulVer, Value, uSize);
printf("%d",ulVer);
为什么 ulVer 是 4097,而不是 10001?
最佳答案
00010001;是一个八进制常数,因为它从 0 开始。 如果这是你想要的十进制数,你需要写 10001。
关于c - 处理十进制数的转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11901930/