int i = 560;
printf("%x\n",i); //
char *c = (char *)&i;
for(int t=0;t<4;t++)
printf("%x\n",c[t]);
560二进制为1000110000,在内存中存储为 00000000 00000000 00000010 00110000,直接按十六进制输出为230
循环输出为30 2 0 0,因为是从低地址开始输出,所以先输出00110000,然后是00000010
98的十六进制是0x62。 32位机有符号整型为4个字节。 在小端系统上,内存存放为: 高------->低 00 00 00 62 在大端系统上,内存存放为: 低------->高 00 00 00 62
深入理解C语言内存存储与十六进制输出
本文详细解析了C语言中整型变量的内存存储方式及十六进制输出原理,包括不同系统(小端、大端)下整型变量在内存中的存储顺序,以及如何通过指针进行十六进制输出。
1万+

被折叠的 条评论
为什么被折叠?



