对一个位置系统字节序判断的app

写一个程序判断字节序是大端还是小端存储?
第一种方法:

  1 #include <stdio.h>
  2 union uni_test
  3 {
  4 int a;
  5 char c[4];
  6 };
  7 
  8 
  9 int main(void)
 10 {
 11 union uni_test ua ;
 12         ua.a=0x12345678;
 13         printf ("ua.a =0x%x\n ",ua.a);
 14         printf("c[0]=0x%x\n",ua.c[0]);
 15         printf("c[1]=0x%x\n",ua.c[1]);
 16         printf("c[2]=0x%x\n",ua.c[2]);
 17         printf("c[3]=0x%x\n",ua.c[3]);
 18         return 0;
 19 }

笔者机器输出:

ua.a =0x12345678
 c[0]=0x78
c[1]=0x56
c[2]=0x34
c[3]=0x12

第二种

  1 #include <stdio.h>
  2 
  3 int main(void)
  4 {
  5 int a =0x123456789;
  6 char *p = (char*)&a;
  7 printf("p[0]= 0x%x\n",p[0]);
  8 printf("p[1]= 0x%x\n",p[1]);
  9 printf("p[2]= 0x%x\n",p[2]);
 10 printf("p[3]= 0x%x\n",p[3]);
 11 
 12 
 13         return 0;
 14 }         

输出:

p[0]= 0xffffff89
p[1]= 0x67
p[2]= 0x45
p[3]= 0x23

两种方式输出结果一致

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值