Big Endian和Little Endian的区别
来源:百度文库 编辑:神马文学网 时间:2024/10/01 09:00:50
1.故事的起源
“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。
我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。
2.什么是Big Endian和Little Endian?
在设计计算机系统的时候,有两种处理内存中数据的方法。一种叫为little-endian,存放在内存中最低位的数值是来自数据的最右边部分(也就是数据的最低位部分)。比如一个16进制数字0x12345678, 在内存存放的方式如下:
值
0111,1000
0101,0110
0011,0100
0001,0010
地址
100
101
102
103
另一种称为big-endian,正好相反,存放在内存中最低位的数值是来自数据的最左边边部分(也就是数据的最高为部分)。比如一个16进制数字0x12345678, 在内存存放的方式如下:
值
0001,0010
0011,0100
0101,0110
0111,1000
地址
100
101
102
103
比如某些文件需要在不同平台处理,或者通过Socket通信。这方面我们可以借助ntohl(), ntohs(), htonl(), and htons()函数进行格式转换。
3.如何判断系统是Big Endian还是Little Endian?
在/usr/include/中(包括子目录)查找字符串BYTE_ORDER(或_BYTE_ORDER, __BYTE_ORDER),确定其值。这个值一般在endian.h或machine/endian.h文件中可以找到,有时在feature.h中,不同的操作系统可能有所不同。一般来说,Little Endian系统BYTE_ORDER(或_BYTE_ORDER,__BYTE_ORDER)为1234,Big Endian系统为4321。大部分用户的操作系统(如windows, FreeBsd,Linux)是Little Endian的。少部分,如MAC OS ,是Big Endian 的。本质上说,Little Endian还是Big Endian与操作系统和芯片类型都有关系。
“endian”这个词出自《格列佛游记》。小人国的内战就源于吃鸡蛋时是究竟从大头(Big-Endian)敲开还是从小头(Little-Endian)敲开,由此曾发生过六次叛乱,其中一个皇帝送了命,另一个丢了王位。
我们一般将endian翻译成“字节序”,将big endian和little endian称作“大尾”和“小尾”。
2.什么是Big Endian和Little Endian?
在设计计算机系统的时候,有两种处理内存中数据的方法。一种叫为little-endian,存放在内存中最低位的数值是来自数据的最右边部分(也就是数据的最低位部分)。比如一个16进制数字0x12345678, 在内存存放的方式如下:
值
0111,1000
0101,0110
0011,0100
0001,0010
地址
100
101
102
103
另一种称为big-endian,正好相反,存放在内存中最低位的数值是来自数据的最左边边部分(也就是数据的最高为部分)。比如一个16进制数字0x12345678, 在内存存放的方式如下:
值
0001,0010
0011,0100
0101,0110
0111,1000
地址
100
101
102
103
比如某些文件需要在不同平台处理,或者通过Socket通信。这方面我们可以借助ntohl(), ntohs(), htonl(), and htons()函数进行格式转换。
3.如何判断系统是Big Endian还是Little Endian?
在/usr/include/中(包括子目录)查找字符串BYTE_ORDER(或_BYTE_ORDER, __BYTE_ORDER),确定其值。这个值一般在endian.h或machine/endian.h文件中可以找到,有时在feature.h中,不同的操作系统可能有所不同。一般来说,Little Endian系统BYTE_ORDER(或_BYTE_ORDER,__BYTE_ORDER)为1234,Big Endian系统为4321。大部分用户的操作系统(如windows, FreeBsd,Linux)是Little Endian的。少部分,如MAC OS ,是Big Endian 的。本质上说,Little Endian还是Big Endian与操作系统和芯片类型都有关系。
Big Endian和Little Endian的区别
Big-endian和little-endian
Big Endian 和 Little Endian
Big Endian 和 Little Endian
little/big endian
Big Endian 和 Little Endian [转]--Verilog Bird
Big endian and Little endian computers
博客园 - 航行日记 - BIG Endian 和 Small Endian模式的区别(摘自其他网站)
Big Endian and Little Endian(字节序)
big-endian and little-endian - C语言技巧讨论 - jiuz...
unicode,ansi,utf-8,unicode big endian这些编码有什么区别
Endian的由来 【转】_急速星雨
大小端 地址空间 alignment,endian
Iniesta, little man for the big occasion
Deadly tick bite: Little bug, big problem
nickle的相册-little baby
的联系和区别
BIG BIG GIRL - ealemailbox的日志 - 网易博客
BIG:符号化的建筑设计1
人生的大石头(Big Rocks)
【BIG BANG】那些Sheldon告诉和教会我们的!(Sheldon经典对白,第一季)
路由器和交换机的区别
ppc和pda的区别
CI和VI的区别