大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中;
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中;

下面给出一种常规的判断计算机是大小端的一段代码
#include<stdio.h>
int main(void){
int a=0x12345678;
char *pc = (char*)&a;
if(*pc==0x78){
printf("该计算机为小端序\n");
}else{
printf("该计算机为大端序\n");
}
int i = 0;
for(i=0;i<4;i++){
printf("%#x \n",*(pc+i));
}
return 0;
}上面的这段代码比较常规也比较复杂,下面这个是用共同体所写的:
#include<stdio.h>
/*下面这段代码是利用共同体union所写的求计算机是大端还是小端*/
union daxiaoduan{
int a;
char b;
};
int main(void){
//这是定义一个 共同体 union daxiaoduan 是数据类型
union daxiaoduan u1;
u1.a = 0x12345678;
printf("%#x\n",u1.b);
if(u1.b == 0x78){
printf("该计算机为小端序\n");
}else{
printf("该计算机为大端序");
}
return 0;
}
本文通过两种不同的方法介绍如何确定计算机系统的字节序——大端或小端。一种方法使用了指针操作来检查整数的最低有效字节,另一种则运用了C语言中的共用体(union)来实现同样的目的。
1万+

被折叠的 条评论
为什么被折叠?



