大端存储与小端存储
(1)定义
大端存储与小端存储模式主要指的是数据在计算机中存储的两种字节优先顺序。小端存储指从内存的低地址开始,先存储数据的低序字节再存高序字节;相反,大端存储指从内存的低地址开始,先存储数据的高序字节再存储数据的低序字节。
注意事项:
每一个字节中,高位在左,低位在右。
大端存储和小端存储说的是字节间的排序问题。
大端存储,高序字节在低地址中存储
小端存储,低序字节在低地址中存储
例如:
十进制数9877,
如果用小端存储表示则为:
高地址 <- - - - - - - - 低地址
10010101[高序字节] 00100110[低序字节]
用大端存储表示则为:
高地址 <- - - - - - - - 低地址
00100110[低序字节] 10010101[高序字节]
补充:
全局变量:先定义的全局变量位于低地址,后定义的位于高地址。
栈中变量:由于栈是往低地址生长的,所以先声明的变量位于高地址
堆中变量:由于堆是往高地址生长的,所以先声明的变量位于低地址。
(2)优缺点
大端存储的优点:
符号位在所表示的数据的内存的第一个字节中,便于快速判断数据的正负和大小。
小端存储的优点:
(a)CPU做数值运算时从内存中按顺序依次从低位到高位取数据进行运算,直到最后刷新最高位的符号位,这样的运算方式会更高效。
(b) 内存的低地址处存放低字节,所以在强制转换数据时不需要调整字节的内容。
(3) 用途
小端存储:常见于本地主机上(也有部分类型主机为大端存储)。
大端存储:常见于网络通信上,网际协议TCP/IP在传输整型数据时一般使用大端存储模式表示,例如TCP/IP中表示端口和IP时,均采用的是大端存储。
————————————————
版权声明:本文为CSDN博主「dutu」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u011733907/article/details/107659859