大端和小端模式详解

前言

对于不了解的看到或者听到“大端”、“小端”就如我一样可能就会很懵,不知道是啥?网上很多文章看的是眼花缭乱,云里雾里,所以本人决定自己写一篇让和我一样经历困惑的人,能够更容易了解。如有错误或不对的地方还请各位大佬们见谅,本人才疏学浅,也希望大佬们多多指出不对的地方。好了,废话不多说开搞。。。

1.大端和小端由来起源

一个小故事,想知道的自己可以去搜索,这里就不讲了

2.什么是大端和小端?

首先先放含义(看不懂没关系直接去看解释),然后在做解释什么是高位字节低位字节,高地址端低地址端,然后在看大小端的一个实例

2.1大端、小端含义

大端模式,是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中,这样的存储模式有点儿类似于把数据当作字符串顺序处理:地址由小向大增加,数据从高位往低位放;这和我们的阅读习惯一致。
小端模式,是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中,这种存储模式将地址的高低和数据位权有效地结合起来,高地址部分权值高,低地址部分权值低。
**大端**:大端模式是低位字节排放在内存的高地址端,高位字节排放在内存的低地址端。
**小端**:小端模式是高位字节排放在内存的高地址端,低位字节排放在内存的低地址端。

这里本人干脆就记着 低对低,高对高 是小端,其余的就是大端(低对高 高对低),大端模式比较才是我们大家直观上认为的模式。

2.2 高位字节、低位字节

我们都知道计算底层只能够识别“0”和“1”,所有的代码在底层最终会变成一位位“0”或者“1”组成的代码,这些一位位“0”或者“1”我们就称之为二进制代码。
我们所看到的字符或者数字等,其实在计算机底层还是会转变成计算机识别的语言,也就是“0”和“1”组成的二进制代码(不懂得可以去搜看一下计算机进制相关资料二进制、八进制、十六进制)。
image

好了,上面废话了那么多,下面进入正题,我们众所周知 1个字节(byte)对应8位(bit),那什么是高位字节什么是低位字节(请看下图)?
image

2.3 高地址、低地址

地址比较正式含义这里就不介绍了,有兴趣可以自行查找。高地址、低地址看下图
image

2.4大端、小端怎么看

废话不多说上图
image
image
image

posted @   流走在黑夜深巷的猫  阅读(1552)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示