正在载入在线练习界面,本页内容可直接阅读…

AK CSP › CSP-S 2022 第一轮真题 › 第6题

CSP-S 2022 第一轮 第6题:计算机系统用小端(LittleEndian)和大端(BigEndian)来描述多

单项选择 · 信息表示与编码 · 答案 B

题目

计算机系统用小端(Little Endian)和大端(Big Endian)来描述多字节数据的存储地 址顺序模式,其中小端表示将低位字节数据存储在低地址的模式、大端表示将高位字节数 据存储在低地址的模式。在小端模式的系统和大端模式的系统分别编译和运行以下 C++代码段表示的程序,将分别输出什么结果?( )

unsigned x = 0xDEADBEEF;
unsigned char *p = (unsigned char *)&x;
printf("%X", *p);

选项

  • A. EF、EF
  • B. EF、DE
  • C. DE、EF
  • D. DE、DE

答案

B

题解

答案是 B:EF、DE。

p 指向变量 x 的起始地址,*p 只读取该地址上的 一个字节。按题目默认的 unsigned 占 4 字节,0xDEADBEEF 的存储顺序为:

模式从低地址到高地址*p
小端EF BE AD DEEF
大端DE AD BE EFDE

printf("%X", *p) 以大写十六进制输出这个字节,因此小端输出 EF,大端输出 DE。

记忆方法:小端低位在前,大端高位在前,这里“前”指低地址。

真题版权归 CCF 所有,本站仅用于非商业教学用途。页面加载后可直接在线作答,作答记录保存在本浏览器或账号中。 京ICP备2026056990号-1 京公网安备11010502062986号