我是靠谱客的博主 丰富毛巾,最近开发中收集的这篇文章主要介绍联合体判断大端与小端,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

大端、小端

大端:数据的高字节存放在低地址处,数据的低字节存放在高地址处。
小端:数据的低字节存放在低地址处,数据的高字节存放在高地址处。

联合体

联合体开辟内存法规则是:选取联合体成员变量中,占用内存最大的内存大小,比如联合体内有int char ,float 类型变量,则开辟int型大小的空间。并且这些成员共用这一内存。

利用联合体特性,判断大小端

typedef union {
int a;
char b;
}UN;
int main(){
UN u;
u.a = 1;
if(u.b == 1) printf("小端存储n");
else printf("大端存储n");
return 0;
}

分析:

u.a = 0x00000001;
若小端存储形式:
-------------------->地址减方向
00 00 00 01
则 b = 01;
若大端存储形式:
-------------------->地址减方向
01 00 00 00
则 b = 0;

所以当u.b=1时为小端存储,u.b=0时为大端存储。

最后

以上就是丰富毛巾为你收集整理的联合体判断大端与小端的全部内容,希望文章能够帮你解决联合体判断大端与小端所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(50)

评论列表共有 0 条评论

立即
投稿
返回
顶部