小端模式:低位字节排放在内存的低地址端,高位字节排放在内存的高地址端
大端模式:高位字节排放在内存的低地址端,低位字节排放在内存的高地址端

#include<stdio.h>
void main()
{
int i=0x12345678;
char *p=(char *)&i;//通过强转将int类型(4字节)转换为char类型(1字节)指针变量p指向i的起始字节(低字节)
if(*p==0x12)//如果低字节存放高数据 那么就是大端模式
{
printf("big\n");
}
else
printf("small\n");
}
用联合体判断大小端
#include<stdio.h>
union stu //联合体union的存放顺序是所有成员都从低地址开始存放,而且所有成员共享存储空间
{
int i;
char ch;
}d;
void main()
{
d.i=0x12345678;
if(d.ch==0x12)//低字节存的是数据的高字节数据
{
printf("big\n");
}
else
printf("small\n");
}
本文介绍了两种判断计算机系统字节顺序的方法:一种是通过指针操作来确定内存中数据的排列方式;另一种则是利用联合体特性来判断。这两种方法简单有效,能够帮助开发者了解其系统所采用的大端或小端模式。
660

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



