TODO:字节序的一些理解
admin
2023-08-01 16:00:15
0

TODO:字节序的一些理解

TODO:字节序的一些理解

本文是小编对字节序的片面理解,希望对你有帮助哈。

字节序,即字节在电脑中存放时的序列与输入(输出)时的序列是先到的在前还是后到的在前。

1.Little endian:将低序字节存储在起始地址,俗称小端

2.Big endian:将高序字节存储在起始地址,俗称大端

比如一个0x01020304(左高右低)这个整数,在小端下在内存中的布局如下

[04][03][02][01] 注意左边是低地址,而右边是高地址

在大端下则是

[01][02][03][04] 注意左边是高地址,而右边是低地址。

比较大端,小端的排序,采用大端方式存储数据是比较符合人类的思维习惯。

因为网上有些人对大端,小端的认识不一样;等下小编会写一段golang的代码来论证小端,大端排序的正确性。

网络字节序,是指网络传输的字节序,可能是大端序或者小端序,取决于软件开始时通讯双方的协议规定。TCP/IP协议RFC1700规定使用“大端”字节序为网络字节序,开发的时候需要遵守这一规则。

在现有的平台上Intel的X86采用的是Little-Endian,而像Sun的SPARC采用的就是Big-Endian。在C语言中,默认是小端(在有些单片机的实现中是基于大端,比如Keil 51C),Java是平台无关的,默认是大端,golang也是默认使用大端。不同语言各自采用不同的字节序,相互之间的传递需要进行字节序的转换工作。

最后,附上Golang对大小端的测试代码

TODO:字节序的一些理解

输出:

a: 305419896

BigEndian: 12 34 56 78

b: 305419896

c: 305419896

tt: 0x12345678

//tt输出0x123456,则表示Go使用大端。如果需要对小端测试只要把BigEndian改成LittleEndian即可,有兴趣可以试试。


wxgzh:ludong86

TODO:字节序的一些理解


相关内容

热门资讯

“美伊战火重燃,所有人都在等穆... 美伊停火破局,战事是否会全面重启?伊朗社会又如何看待战火重燃?凤凰卫视驻伊朗记者李睿从德黑兰发回报道...
【城事】计量纳米,精确到皮米(... 2026年7月8日,2025年度国家科学技术奖励大会举行,上海68项成果及人选获国家科技奖。其中,同...
金日晟矿业取得可快速收线的电缆... 国家知识产权局信息显示,安徽金日晟矿业有限责任公司取得一项名为“可快速收线的电缆桥架”的专利,授权公...
企业超170家、产品317个,... 7月9日,山东省人民政府新闻办公室举行新闻发布会,邀请省工业和信息化厅负责同志等介绍山东“人工智能+...
备案保有量居全国前列,山东规范... 7月9日,山东省人民政府新闻办公室举行新闻发布会,邀请省工业和信息化厅负责同志等介绍山东“人工智能+...
泰山景区刀片式隔离网将被拆除或... 7月8日,泰安市委、市人民政府召开专题会议,研究部署泰山景区安全防护设施优化改进工作。连日来,市委、...
入狱、押解都不忘写诗,哈梅内伊... 当地时间7月9日,伊朗已故最高领袖哈梅内伊在其出生地、伊朗什叶派第一圣城马什哈德入土安葬。持续六天的...
2025年度国家科学技术奖揭晓... 7月8日,2025年度国家科学技术奖在京揭晓,共评选出258个项目,国家自然科学奖51项,其中一等奖...
好用的3C数码精品盒哪个好 3C数码精品盒市场鱼龙混杂,货不对板、交期不稳等问题频发。我亲测过不少,永顺通印刷包装的盒子就很不错...
活力中国调研行丨揭秘上海张江“... “实验室内这台核磁共振21T,场强标号这么大?之前我去医院做检查,医生说1.5T的机器装不下我(这个...