大小端 程序验证

本文介绍了大小端存储原理,通过C++程序来验证计算机是采用大端还是小端存储方式,解释了高低尾端的概念,并提供了程序运行结果作为验证。
摘要由CSDN通过智能技术生成

原理

大小端来自 Big Endian 和 Little Endian的直译,他们描述计算机是怎么来存储字节的。
由于计算机中存在着大于1个字节的数据类型,例如整型在C++中一般用4字节的空间来
表示,这就存在着这4个字节在空间上怎么按字节存放一个整数的问题。

图1
方案有以下两种,如图1所示:
1. 大端存放情况下,对于数据0XABCD,先存放高位字节AB,再存放低位字节CD。由于
数据存放的时候是从地址编号小的地方开始存放,所以有了图中上半部分的存放情况;
2. 小端存放情况下,对于数据0XABCD,先存放低位字节CD,再存放高位字节AB,同理,
有了图中下半部分的存放情形。

这种两种存放方式与“大小端”的字面意思差的有点远,仅凭“大端”很难让我们马上想起
是哪种存放方式,时间长了容易记混淆。这里有一种比较容易理解的方式:
低位字节CD是数据的尾端,在“大端”存放方式中,尾端在高地址编号位置上,可以称为
“高尾端”;在“小端”存放方式中,尾端在低地址编号位置上,可以称为“低尾端”。

这样“大端”对应“高尾端”,说的是数据的尾端数据存放

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值