WIKIOI
wiki(I:)
比赛相关
工具软件
语言基础
算法基础
搜索
动态规划
字符串
数学
数据结构
图论
计算几何
杂项
专题
杂项简介
复杂度
离散化
离线算法简介
CDQ 分治
整体二分
莫队算法简介
普通莫队算法
带修改莫队
树上莫队
回滚莫队
莫队配合bitset
分数规划
随机函数
随机化技巧
爬山算法
模拟退火
悬线法
计算理论基础
字节顺序
约瑟夫问题
Stern-Brocot 树与 Farey 序列
格雷码
表达式求值
在一台机器上规划任务
主元素问题
26 objects
本站非官方,所收集资源均来源于网络。
字节顺序 - 杂项
本页面将简要介绍字节顺序的概念和分类。 ## 简介 字节顺序是跨越多字节的程序对象的存储规则,表示一个对象的字节的排列方法。 ## 分类 字节顺序有两种,分为小端序(little endian)和大端序(big endian)。 为方便介绍,接下来以一个位于 `0x100` 处,类型为 `int` ,十六进制值为 `0x01234567` 的变量为例。其中 `0x01` 是最高位有效字节, `0x67` 是最低位有效字节。 ### 小端序 小端序是指机器选择在内存中按照从 **最低** 有效字节到 **最高** 有效字节的顺序存储对象。 上文提到的变量表示如下: | .... | 0x100 | 0x101 | 0x102 | 0x103 | .... | | ---- | ----- | ----- | ----- | ----- | ---- | | .... | 67 | 45 | 23 | 01 | .... | ### 大端序 大端序是指机器选择在内存中按照从 **最高** 有效字节到 **最低** 有效字节的顺序存储对象。 上文提到的变量表示如下: | .... | 0x100 | 0x101 | 0x102 | 0x103 | .... | | ---- | ----- | ----- | ----- | ----- | ---- | | .... | 01 | 23 | 45 | 67 | .... | ### 两种顺序的区别 事实上,这两种字节顺序没有孰优孰劣之分。这两种顺序的名字「小端」和「大端」,正是出自《格列佛游记》一书。书中,小人国里两个派别交战不休的原因是无法就从小端还是大端剥鸡蛋达成一致。就和剥鸡蛋的争论一样,选择何种字节顺序的争论是非技术性的。 当然,字节顺序的不一致会导致二进制数据在不同类型的机器之间进行传输时被反序。为了避免这件事情,网络应用程序建立了一套标准,保证发送过程中是使用约定好的网络标准,而不是不同机器的内部表示。 ## 顺序选择惯例 - 小端序:x86, ARM processors running Android, iOS, and Windows - 大端序:Sun, PPC Mac, Internet