大端与小端

2017-04-12  本文已影响44人  蓝浅蓝深

字节顺序,又称端序尾序 ( Endianness ),是跨越多字节的程序对象的存储规则。

在几乎所有的机器上,多字节对象都被存储为连续的字节序列。
存储地址内的排列有两个通用规则,一个多位的整数将按照其存储地址的最低或最高字节排列。

举一个例子,比如数字 0x12345678 在内存中的表示形式为:

大端模式:符号位的判定固定为第一个字节,容易判断正负。
小端模式:强制转换数据不需要调整字节内容,高地址端只需补零。

在网络应用中,字节序是一个必须被考虑的因素。因为不同机器类型可能采用不同标准的字节序,均要按照网络标准进行端模式的转换。一般操作系统是小端,而通讯协议是大端的。

虽然很多时候,字节序的工作已由编译器完成了,但是在一些小的细节上,仍然需要去仔细揣摩考虑,尤其是在以太网通讯、MODBUS通讯、软件移植性方面。

上一篇 下一篇

猜你喜欢

热点阅读