字节序问题

高高低低:x86采用little endian方式,即”小端结束“或者”小尾“,它的意义在于指出数据在内存中存储的次序,会在寄存器和内存交换数据以及对内存数据读取、运算时体现出来

所谓小端结束,就是存储常数或寄存器时,低字节存储在低地址,读取的时候内存高地址字节放在前面(高位)

以下内容来自Pconline:

“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。

我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。

也就是说, 我们平时看到的数据从左到右是高位到低位降序排列, 但用 debug 等软件看到内存中的数据从左到右是低位到高位升序排列的.