IP数据报头采用()字节序,在此字节序下从低地址到高地址0x1234的表示形式为 () 。
正确答案: C 你的答案: A (错误)
big_endian,0x12 0x34 0 0
little_endian,0x34 0x12 0 0
big_endian,0 0 0x12 0x34
little_endian, 0 0 0x34 0x12
解析:
其实 big endian 是指低地址存放最高有效字节( MSB ),而 little endian 则是低地址存放最低有效字节( LSB )。 所有网络协议也都是采用 big endian 的方式来传输数据的。所以有时我们也会把 big endian 方式称之为网络字节序。当两台采用不同字节序的主机通信时,在发送数据之前都必须经过字节序的转换成为网络字节序后再进行传输。
比如数字 0x12345678 在两种不同字节序 CPU 中的存储顺序如下所示:
Big Endian
1
2
3
4
5
6
7
|
低地址 高地址
----------------------------------------->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 12 | 34 | 56 | 78 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|
Little Endian
低地址 高地址
----------------------------------------->
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 78 | 56 | 34 | 12 |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+