当前位置: 首页> 游戏> 攻略 > 网站地图在线生成_上海网页设计公司济南兴田德润团队怎么样_四平网络推广_深圳seo公司排名

网站地图在线生成_上海网页设计公司济南兴田德润团队怎么样_四平网络推广_深圳seo公司排名

时间:2025/8/1 8:31:27来源:https://blog.csdn.net/childerxxx/article/details/143267126 浏览次数:0次
网站地图在线生成_上海网页设计公司济南兴田德润团队怎么样_四平网络推广_深圳seo公司排名

目录

1.  什么是字节序(Endianness)?

2. 什么是大小端(Big-Endians and Little-Endian)?

3. 什么时候需要用到大小端的概念?

4. 如何确认系统的大小端模式?

5. 什么是大小端定义中的最高有效字节?

6. 什么是大小端定义中的高地址?低地址?

7. 参考链接

思考题:


1.  什么是字节序(Endianness)?

字节序是计算机内存中单个多字节数据(int, float, etc)的字节存储顺序,有大端和小端两种。

2. 什么是大小端(Big-Endians and Little-Endian)?

大端系统中,先存储最高有效字节(MSB)。小端系统中,先存储最低有效字节(LSB)

比如在存储器0x100~0x103地址中存储uint32_t型的数据0x01234567,在大端系统中的存储顺序为“0x01 0x23 0x45 0x67”,在小端系统中的存储顺序为“0x67 0x45 0x23 0x01”,如下图:

3. 什么时候需要用到大小端的概念?

  • 大端和小端两种格式都有各自的优点和缺点。
    • 一些算法在小端模式的处理器上运行效率更高,另一些算法则在大端模式的处理器上运行效率更高。
    • 大端字节序比较符合人类的阅读习惯,读单个数时,从左到右,MSB在前,LSB在后,比如0x1234;
  • 处理器可以设计为小端、大端双端(能够处理这两种情况)。ARM既支持大端也支持小端,默认工作在小端模式;x86是小端模式;网络协议是大端模式;
  • 现在计算机系统中常用的字节序,很大程度上取决于过去消费者和市场的选择。 就像我们选择手机品牌一样,当一种品牌被很多人选择后,它就成了主流。
  • 一般只有在不同的处理器之间相互通讯时,需要考虑字节序。

4. 如何确认系统的大小端模式?

方法1:查资料

方法2:运行以下代码来确认当前所使用的处理器的字节序:

#include <stdio.h>int main(void)
{unsigned int value = 0x1;char *r = (char *) &value;if (*r == 1) printf("Your system is Little Endian\n");elseprintf("Your system is Big Endian\n");return 0;
}

5. 什么是大小端定义中的最高有效字节?

单个多字节数据中,数值贡献最大的字节,叫最高有效字节(Most Significant Byte, MSB);数值贡献最小的字节,叫最低有效字节(Least Significant Byte, LSB);也可以理解为组成字节的bits是比较高位的bits的为高字节。比如多字节数据0x12345678,它的MSB为0x12,LSB为0x78。

6. 什么是大小端定义中的高地址?低地址?

地址是用来标识计算机内存中各个存储单元的编号,你可以把它想象成一栋大楼的楼层,每个楼层都有一个唯一的楼层号,而内存中的每个存储单元都有一个唯一的地址。

  • 低地址: 通常表示内存的起始位置,就像大楼的一层。
  • 高地址: 表示内存的结束位置,就像大楼的顶层。

计算机通过内存地址来有序地操作内存中的数据,存储数据一般从低地址开始存储,最后再存高地址。比如有一个uint32_t型的多字节数据要存入地址0x00~0x03,计算机会先写入0x00;此时0x00为最低内存地址;

7. 参考链接

https://embetronicx.com/tutorials/p_language/c/little-endian-and-big-endian/

What is Endianness? Big-Endian & Little-Endian - GeeksforGeeks

思考题:

1. 32位机器存储uint64_t数据0x1122334455667788时,内存中的字节排布是?

2. 单个多字节数据?结构体算吗?

关键字:网站地图在线生成_上海网页设计公司济南兴田德润团队怎么样_四平网络推广_深圳seo公司排名

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

责任编辑: