【C语言进阶】面试题:请使用代码判断主机存储属于大端模式还是小端模式?

2022-10-07
关注

【C语言进阶】面试题:请使用代码判断主机存储属于大端模式还是小端模式?

经典面试题,有必要了解下!

1 问题描述

【C语言进阶】面试题:请使用代码判断主机存储属于大端模式还是小端模式?

2 示例代码

为此写了一段测试代码:

​
#include 
#include 
​
int main(int argc, const char *argv[])
{
int a = 0x12345678;
unsigned char *p = (unsigned char *)&a;
​
if (*p == 0x12) {
printf("big endian
");
} else {
printf("*p = %02x
", *p);
printf("little endian
");
}
​
return 0;
}

跑一下测试结果:

image-20220930230847586

正好满足: 低地址,存储低字节 ,所以它是 小端存储 ;反之,应该就是 大端存储

3 总结

  • 有必要了解下大端存储和小端存储的规则;
  • 记住口诀:DD为小,谐音: 弟弟为小
  • **即 **低地址,低字节 为小端存储;反之, 低地址,高字节 为大端存储。

4 更多分享

[架构师李肯]

架构师李肯全网同名 ),一个专注于嵌入式IoT领域的架构师。有着近10年的嵌入式一线开发经验,深耕IoT领域多年,熟知IoT领域的业务发展,深度掌握IoT领域的相关技术栈,包括但不限于主流RTOS内核的实现及其移植、硬件驱动移植开发、网络通讯协议开发、编译构建原理及其实现、底层汇编及编译原理、编译优化及代码重构、主流IoT云平台的对接、嵌入式IoT系统的架构设计等等。拥有多项IoT领域的发明专利,热衷于技术分享,有多年撰写技术博客的经验积累,坚信【知识改变命运,技术改变世界】!

您觉得本篇内容如何
评分

相关产品

Burkert 宝得 436475 流量控制器

多语言,菜单驱动设置。液体和开关之间没有接触。保护极性和反接。1200 L \/min电气连接=电缆插头,旋转5针M12插头控制输出=继电器安装样式=紧凑型供电电压=12-30 V直流电显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度电气连接=电缆插头,旋转5针M12插头控制输出=继电器安装样式=紧凑型供电电压=12-30 V直流电显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度=+60°C

WIKA 威卡 T24.10.2P6-ZF RTD温度变送器

6种用户语言的配置软件WIKA TT。紧凑的设计。灵活可靠输入类型=2线,3线,PT100供电电压=10-30 V dc仪表=43 mm最低工作温度=-40°C最高工作温度=+85°C系列=T24Depth=17.6mm

Vaisala 维萨拉 DMT345 and DMT346 温湿度变送器

•宽动态范围  •露点/冰点温度测量范围从-40到+100°C,工作温度高达350°C的独特组合使传感器适用于具有宽温湿度范围的热动态过程。 •方便操作  •使用多语言菜单和键盘以图形方式显示测量数据和趋势,使用户可以轻松监控过去12个月的操作数据、测量趋势和访问测量历史记录。

RS Components 欧时 3704963 流量控制器

多语言,菜单驱动设置。液体和开关之间没有接触。反极性和短路保护。插头最大流量=2-1200 L \/min电气连接=旋转5针M12插头控制输出=PNP安装样式=紧凑型供电电压=12-30 V dc显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度\/min电气连接=旋转5针M12插头控制输出=PNP安装样式=紧凑型供电电压=12-30 V dc显示屏幕=8位LCD管道直径范围=DN 15-100 mm最小工作温度=0°C最大工作温度=+60°C

安捷伦 Agilent11713C安捷伦11713B射频开关/衰减器 压力计

11713C 11713C Agilent11713C安捷伦11713B射频开关/衰减器 Agilent11713C安捷伦11713B射频开关/衰减器 安捷伦11713B/C专为ATE系统而设计,它可从远程或者前面板上SPDT 开关的组合 或者控制多达 20 个 SPDT 开关 10 微秒响应时间 200 万次使用寿命 远程控制和编程 符合 LXI 标准,可通过全功能的图形网络浏览器界面远程控制和触发 11713C配备 USB 和 LAN 选件的 GPIB 可轻松用于远程集成 标准的 SCPI 编程语言 完全向后兼容 Keysight 11713A 驱动器电源 提供 5V、15V 和 24V 三种电压 用户定义的电压源

Cole-Parmer GO-35639-62 红外线温度计

背光显示屏以F或C显示温度读数;电池电量不足指示;保持、扫描和最大显示持续7秒。显示器上还显示了欠量程和超量程条件。仅在美国和加拿大销售。Fluke 566和568型提供了其他功能,包括创新的图形显示、通过易于选择的内置材料表调节发射率、K型热电偶输入、数据记录,多语言接口,两个背光水平,和一个橡胶外壳,提高了抗冲击,损坏,水和灰尘。

VACUUBRAND, Inc. CVC 3000 真空传感器

带清晰文本菜单(14种语言)的照明图形显示和点动滚轮使其处理几乎不言自明。根据型号的不同,陶瓷隔膜真空传感器和排气阀已经集成(或可外部连接)。陶瓷真空传感器具有高耐化学性,测量气体类型独立且准确。当用于通过操作电磁阀(如VV-B 6C,单独订购)提供两点控制时,会自动建议滞后值。当用于控制VARIO®变速真空泵时,无需编程,只需按一个按钮即可实现全自动蒸发。

Hoffer Flow Controls ACE II 流量计算机,累加器和指示器

♦高级人机界面,128x68图形显示,\ u201c软键。 ♦红外通信接口。(可选) ♦闪存用于字段升级。\ n \ u2666自我诊断。 ♦详细的、简单的语言错误和帮助信息。

Fluke 福禄克 FLUKE-566 数字测温仪

•测量-40°C到650°C(-40°F到1200°F)•使用软键按钮和图形显示轻松访问高级功能•测量远处较小的对象,距离-光斑比为30:1•与大多数类型K热电偶兼容,使您可以保留您的热电偶投资•自信地测量任何类型的表面级背光可以轻松适应照明条件•声光报警器会立即提醒您测量值超出设定范围•可快速识别最小值、最大值、平均值的问题,DIF功能 •包括KTC珠子探针 •自信地排除设备故障,具有1%测量精度•多功能接口,可选择5种语言可选配件

Georg Fischer (GF) 乔治费歇尔 159001110 液体流量计

•盲4毫安到20毫安,数字频率,继电器输出,•即使在脏液体中也能精确测量,•多语言显示菜单,•双向流动,u00e2€¢安装在管道尺寸为DN15至DN900(½ in至36 in)的管道中,u00e2€¢耐腐蚀材料,聚丙烯或聚偏氟乙烯,采用不锈钢、哈氏合金-C或钛,u00e2€¢工作速率范围为0.05至10 m/s(0.15至33 ft/s),•专利磁强计技术,•无活动部件,u00e2磁力计最小流速=0.05 m/s最大流速=10 m/s供电电压=24 V dc管径范围=1/2-4 in连接类型=DN15到DN 100插座最大压力=10.3 bar材料=聚丙烯,不锈钢最低介质温度=0°C

评论

您需要登录才可以回复|注册

提交评论

电子发烧友

这家伙很懒,什么描述也没留下

关注

点击进入下一篇

SHA1摘要运算的C语言源码实现

提取码
复制提取码
点击跳转至百度网盘