系统支持的是否大小端的测试程序

来源:互联网 发布:网易邮箱数据疑似泄露 编辑:程序博客网 时间:2024/06/05 23:00
#include <stdio.h>

typedef union testunion
{
  short a;
  char b[2];  
}uniontest;

int
main()
{
      uniontest aa;

      aa.a = 0x0102

      printf("aa.a is 0x%x aa.b[0] is 0x%x aa.b[1] is 0x%x\n", aa.a, aa.b[0], aa.b[1]);

      return 0;
}
结果为:aa.a is 0x102 aa.b[0] is 0x2 aa.b[1] is 0x1


此结果表示系统支持的是小端存储    起始地址对应的是此地址保存的数值的高位的即为大端存储    而此测试平台得到的结果是 起始地址对应的值的是多字节值的低位


对应关系为:

b[0]       b[1]

01         02                //大端字节序------------起始地址和值的顺序(存储地址和数值的位置方向)都是一样

02         01               //小端字节序-----------起始地址和值的顺序(存储地址和数值的位置方向)不是一样


原创粉丝点击