1、字节序: 一个(占多字节的)数据单元的字节顺序。Java中byte没有字节序问题,其他都有字节序问题。不必考虑byte内部bit的细节。bit序:一个字节内,bit的顺序
大,小:权值大,权值小
端:开端,左边是开端,左边是低地址,人的思维从左到右,
1) Big-Endian:权值最大(高)的字节(MSB)放在低地址(端)。实例:java,TCP
2) Little-Endian:权值最小的字节(MSB)放在低地址(端)。实例:win7
2、实例:数字0x12 34 56 78在内存中的表示形式为:
1)大端模式:
低地址 -----------------> 高地址
0x12 | 0x34 | 0x56 | 0x78
2)小端模式:
低地址 ------------------> 高地址
0x78 | 0x56 | 0x34 | 0x12
3、大端小端没有谁优谁劣,各自优势便是对方劣势:
小端模式 :强制转换数据不需要调整字节内容,1、2、4字节的存储方式一样。
大端模式 :符号位的判定固定为第一个字节,容易判断正负。
4、bit序:一个字节内,bit的顺序。大都是大端序,左大右小,比如TCP中6bits的标志位:
URG=2^5=32=0x20
ACK=2^4=16=0x10
PSH=2^3=8=0x08
RST=2^2=4=0x04
SYN=2^1=2=0x02
FIN=2^0=1=0x01
5、bit序可以参考下面的,不过不常用
最低有效位(lsb,least significant bit):
1), lsb指一个二进制数字中的第0位(即最低位,最低权重位,权值为2^0)
2), LSB(the Least Significant Byte),多字节序列中具有最大权重的字节。
最高有效位(msb,Most Significant Byte)
1), lsb的反面。
2), LSB的反面