如何理解字节序

计算机只能理解 0 和 1 组成的二进制数据, 一个 bit 的值是 0 或 1,八个这样的 bit 组成了一个字节,通过字节,计算机可以表示一些复杂的数据,比如:音频、视频等,有些数据只需要用一个字节来表示,比如英文字符,而有些数据需要多个字节来表示,比如:汉字,
对于多字节的数据,存储的时候会有字节顺序的问题,也就是字节序

字节序是什么

字节序是计算机存储多字节数据的方式,目前主流的方式有:大端字节序和小端字节序,字节序主要是针对多字节的数据类型,比如 short、int 等类型

  • 大端字节序

高位字节存储在内存的低地址上,低位字节存储在内存的高位地址上

  • 小端字节序

高位字节存储在内存的高地址上,低位字节存储在内存的低地址上

如何理解字节序

我们平常书写和阅读数字的习惯是从左到右的,所以把最左边的字节当作最高位字节,最右边的字节当作做最低位字节,从左到右,表示从高位字节到低位字节

比如:对于 0x01020304,它的大端和小端字节序在内存中的布局如下图所示

0x 01 02 03 04 总共四个字节大小,以人们习惯的阅读顺序,0x01 处于左边,属于高位字节,0x04 处于右边,属于低位字节

内存地址从 0x 00 00 00 070x 00 00 00 0A 4个字节的空间,刚好能存储得下

根据大端字节序的的规则:高位字节存储在内存低地址,所以处于高位字节的 0x01 存储在 0x 00 00 00 07 地址处,紧接着 次高位字节

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值