大端序与小端序的优缺点比较

定义

高位数据在低位字节叫大端序,反之叫小端序

大端序占优的场景

  1. 检查正负号

这个很容易得知,大端序只要判断第一位是不是负号就行了。

小端序占优的场景

  1. 判断奇偶性

小端序数据的最后一位在最低位地址,判断奇偶性占优势。

  1. 判断大小

小端序数据已经按位对齐了,比较大小时占优势

  1. 乘法

小端序数据进行乘法时,每一位数据算出后可以直接写入内存,相比大端序具有明显优势。大端序的低位字节要存储的数据必须等到后面的位全部算出来了才能确定,小端序直接就可以确定。

alt text

  1. 任意精度整数

又称为大整数,其内部实现通常是把一个很大的数内部分成许多u64数据,小端序因为从左向右进位,每次只需要读取一个u64就可以计算,大端序就需要读取整个数据才能开始计算。

  1. 强制类型转换

比如把32位数转换成16位,小端序直接删掉后面2个字节就好了

网络字节序用的是大端序,TCP/IP规定发送的一个字节为高位字节,主机字节序通常是小端序,小端序有利于计算,大端序更符合人类的阅读习惯。


大端序与小端序的优缺点比较
http://example.com/2024/04/09/littlebigendian/
作者
Jinming Zhang
发布于
2024年4月9日
许可协议