浅析字节存储序列的大小端存储方式

本文介绍了计算机中字节存储的两种方式:大端模式和小端模式,详细解释了它们的区别,并通过具体例子展示其存储形式。大端模式将高位字节存放在低地址,低位字节存放在高地址;小端模式则相反。讨论了大小端模式在强制类型转换和数据判断中的特点,并探讨了为何存在这两种模式。同时,提供了判断机器字节序的方法。
摘要由CSDN通过智能技术生成

基础

内存地址是从低地址开始进行编号的,用16进制来进行编号,比如内存的开始地址(即低地址)0x0000,然后内存偏移以字节为单位,比如0x0001表示从0x0000位置偏移到后面1个字节,即偏移8bit.字节的高低位是俗成约定的,比如字节序列0x12345678,由于一个16进制的转为2进制占四个2进制(2^4=16,进制转换基础),那么0x12则可以转为8个二进制,也就是8bit=1byte,也就是1字节,回到字节的高低位的俗成约定,0x12为最高位,0x78为字节序列的最低位置

什么是大端和小端

Big-Endian和Little-Endian的定义如下:

  1. Little-Endian就是低位字节排放在内存的低地址端,高位字节排放在内存的高地址端。
  2. Big-Endian就是高位字节排放在内存的低地址端,低位字节排放在内存的高地址端。
    举一个例子,比如数字0x12 34 56 78在内存中的表示形式为:
  • 大端模式:
    低地址 -----------------> 高地址
    0x12  |  0x34  |  0x56  |  0x78
  • 小端模式:
    低地址 ------------------> 高地址
    0x78  |  0x56  |  0x34  |  0x12
具体例子

16bit宽的数0x1234在Little-endian模式(以及Big-endian模式)CPU内存中的存放方式(假设从地址0x4000开始存放)为ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值