如何判断机器的大小端

使用32位编译情况下,给出判断所使用机器大小端的方法。

联合体方法判断方法:利用union结构体的从低地址开始存,且同一时间内只有一个成员占有内存的特性。
下面的代码,a和b都是从低地址开始存的,也就是说,a要么是小端那种要么是大端那种存法,而b就要么是01,要么是00(低地址char),这个时候只需要判断b的值就可以知道机器的大小端了。
(大端储存符合阅读习惯。联合体占用内存是最大的那个,和结构体不一样。a和c公用同一片内存区域,所以更改c,必然会影响a的数据)

#include<stdio.h> 
int main()
{ 
union w 
{ 
int a; 
char b; 
}c; 
c.a = 1; 

if(c.b == 1) 
printf("小端存储\n");
else printf("大端存储\n"); 
return 0; 
}

代码示例转(略作解释和学习记录):
原文链接:https://blog.csdn.net/m0_46152793/article/details/124110908

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值