首页 > 试题广场 >

以下程序在big-endial架构处理器下的输出是:inti

[单选题]
以下程序在big-endial架构处理器下的输出是:
int i = 1;
char *pc = &i;
printf("%02x%02x%02x%02x\n", pc[0], pc[1], pc[2], pc[3]);
  • 1000
  • 0001
  • 01000000
  • 00000001
这不是大端系统吗,那么i不是0x 00 00 00 01吗
发表于 2021-04-14 00:50:25 回复(0)
这是大端存储,不是低的地址存放高字节吗?
打印出来不应该是00 00 00 01啊
发表于 2022-10-09 10:13:06 回复(0)
下面以unsigned int value = 0x12345678为例,分别看看在两种字节序下其存储情况,我们可以用unsigned char buf[4]来表示value
Big-Endian: 低地址存放高位,如下:
低地址
---------------
buf[0] (0x12) -- 高位字节
buf[1] (0x34)
buf[2] (0x56)
buf[3] (0x78) -- 低位字节
---------------
高地址

引用自百度百科
发表于 2021-08-27 16:13:10 回复(0)
大端正确答案是D    C是小端的   
编辑于 2023-12-07 15:27:47 回复(0)
正确答案是D
发表于 2022-05-17 20:10:37 回复(0)
是不是错了啊
发表于 2022-05-07 21:49:26 回复(0)
是0默认值
发表于 2022-01-10 03:48:21 回复(0)
%02x
x 表示以十六进制形式输出
02 表示不足两位,,前面补0输出,如果超过两位,则以实际输出
题目中只有p[0]的值为1,其余的都是为0
所以答案为01 00  00  00
发表于 2021-04-07 22:59:57 回复(0)