c - 处理十进制数的转换

标签 c

可能是 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/

相关文章:

找不到 libcrypto 库错误

c - C中的数据结构?

C 指针 - 很好的教程

c - 任何不使用空格来终止十六进制条目的方法

c - 调用 getifaddrs() 时 ifa_addr 何时为 NULL?

c - 如何从字符串中检索作为关键字的标记?

c - 这段代码中 b 的类型是什么?

c++ - WINAPI - 在不成为所有者的情况下关闭互斥锁

c - strcpy在汇编中是什么意思?

java - 如何在 C++ 应用程序中访问 Java 方法