小字节序和大字节序

小字节序:(比如x86体系) 数据的低字节放在低地址处,比如一个整型数0x12345678,在内存中的
          分布为:
                   -----------
                   |    78   | xxxx_0000
                   -----------
                   |    56   | xxxx_0001
                   -----------
                   |    34   | xxxx_0002
                   -----------
                   |    12   | xxxx_0003
                   -----------
                
                   Little Endian

大字节序:(比如PowerPC体系) 数据的低字节放在高地址处,比如一个整型数0x12345678,在内存中的
          分布为:
                   -----------
                   |    12   | xxxx_0000
                   -----------
                   |    34   | xxxx_0001
                   -----------
                   |    56   | xxxx_0002
                   -----------
                   |    78   | xxxx_0003
                   -----------
                
                   Big Endian

比如有如下结构体定义:

typedef struct
{
    unsigned short Rsvd            : 4; /* rsvd0. */
    unsigned short Tgid            : 6; /* this is the group number. */
    unsigned short Index       : 6; /* this is index for this com use. */
}My_Struct;

u16 value = 0x1234;
My_Struct *p;
p = (My_Struct *)&value;

(1)在小字节序的系统上,它的分布如下:
        
         15       10|9        4|3    0
         ---------------------------------
         | Index   |   Tgid   | Rsvd |
         ---------------------------------
value的值为0x1234,则:
        0001 0010 0011 0100
         Rsvd : 0x04
         Tgid : 0x23
         Index : 0x04

(2)在大字节序的系统上,它的分布如下:
        
         15   12|11       6|5       0
         --------------------------------
         | Rsvd |   Tgid   | Index |
         --------------------------------
value的值为0x1234,则:
        0001 0010 0011 0100
         Rsvd : 0x01
         Tgid : 0x08
         Index : 0x34

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值