大小端判断及其转化

  • 大小端:

  大端:低地址存储高数据(手机,网络)

  小端:低地址存储低数据(PC Inter)

  

 

  • 怎样判断编译器是大端还是小端:

  (代码实现)

 1 //判断大小端
 2 bool Is_big_1()
 3 {
 4     short sh = 0x1234;
 5     char *p=(char*)&sh;
 6     if(*p == 0x34)
 7     {
 8         return False;
 9     }
10     return True;
11 
12 }
13 bool Is_big_2()
14 {
15     int a = 1;
16     char *p=(char*)&a;
17     if(*p == 1)
18     {
19         return False;
20     }
21     return True;
22 }

 

 

 

  • 大小端之间的转化:

1 //大小端的转化
2 
3 unsigned  sw_Little_Big(unsigned int a)
4 {
5     return (((a&0xff000000)>>24)|
6             ((a&0x00ff0000)>>8)|
7             ((a&0x0000ff00)<<8)|
8             ((a&0x000000ff)<<24));
9 }

 

posted @ 2018-10-26 01:57  一只不说话的猫  阅读(241)  评论(0)    收藏  举报