字节序

字节序又称为主机字节序,是指计算机中多字节整型数据的存储方式。字节序有两种:大端(高位字节存储在低位地址,低位字节存储在高位地址)和小端(高位字节存储在高位地址,低位字节存储在低位地址)。在网络通信中,发送方和接收方有可能使用不同的字节序,为了保证数据接收后能正确的解析处理,统一规定:数据以高位字节优先顺序在网络上传输。因此数据在发送前和接收后都需要在主机字节序和网络字节序之间转换。
一般主机的字节序采用小端存储,而网络字节序则是大端存储。验证的示例代码如例所示。

  1 #include <stdio.h>
  2 
  3 int main(int argc, const char *argv[])
  4 {
  5     int a = 0x12345678;
  6     char *p;
  7 
  8     p = (char *)&a;
  9 
 10     printf("*p = %#x\n", *p);
 11 
 12     if(*p = 0x78){
 13         printf("小端存储\n");
 14     }
 15     else{
 16         printf("大端存储\n");
 17     }
 18     return 0;
 19 }  

运行结果如下,可知本次实验主机采用的是小端存储。

linux@Master:~/1000phone$ ./a.out 
*p = 0x78
小端存储 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值