小端序理解:把“小的一头”(序列尾部)放在最前面
数字“42”
“十位”(4)在左边,“个位”(2)写在右边,先写大数,后写小数的习惯,叫大端序。
小端序则是反过来,先把“个位”(2)写左边,再把“十位”(4)写在右边
计算机采用小端序的原因:方便计算机做加减法。
详细解释:
计算机内存由连续编址的存储单元组成,每个存储单元位宽1字节(8bit),可以存储0~255范围内的整数。若数值超出单字节存储范围(例如:1234),计算机就会采用多字节数据类型,将数值拆分至多个连续的字节存储单元中保存
- 按**人类习惯(大端序)**存:先找第一个格子放 12,再找下一个格子放 34。
- 按小端序存:先找第一个格子放 34(小的一端),再找下一个格子放 12(大的一端)。
加法竖式是从个位(最右边)开始算,计算机的CPU也是这么算数的,它必须从**“小的一端”**开始运算。
如果内存里用的是大端序(大数在前),CPU想算加法,就得先跑到内存的末尾找到“个位”,算完再倒着往前找“十位”——这很麻烦,像倒着走路。
如果内存里用的是小端序(小数在前): CPU拿到第一个格子,里面就是“个位”,直接开始算。算完个位,顺手拿第二个格子算十位……一路顺着往前加就行了,不用来回跑。