大小端模式

博客介绍了大小端模式,大端模式是高字节存低地址,小端模式是高字节存高地址。通过具体例子说明两者存储差异,还提及应用领域,如单片机、处理器、操作系统等。最后阐述了各自优点,小端转换数据方便,大端存储与阅读顺序一致。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

大小端模式

  • 大端模式

    是指数据的高字节保存在内存的低地址中,而数据的低字节保存在内存的高地址中。

  • 小端模式

    是指数据的高字节保存在内存的高地址中,而数据的低字节保存在内存的低地址中。

  • 举例说明

    • uint32_t value = 0x12345678,用uint8_t buf[4]来表示value;
    • 大端模式:低地址存放高位,高地址存放低位;
      • 低地址
        -----------
        buf[0] = 0x12 - - 高位
        buf[1] = 0x34
        buf[2] = 0x56
        buf[3] = 0x78 - - 低位
        -----------
        高地址

    • 小端模式:低地址存放低位,高地址存放高位;
      • 低地址
        -----------
        buf[0] = 0x78 - - 低位
        buf[1] = 0x56
        buf[2] = 0x34
        buf[3] = 0x12 - - 高位
        -----------
        高地址

  • 应用领域

    • 一些对于单片机的实现中是基于大端,比如Keil C51 、C52
    • 在英特尔处理器,Windows10操作系统上,VB6VS2013下-控制台项目VC++6.0-控制台工程VS2013下-控制台项目,都是小端模式。
    • 通信协议中的数据传输数组的存储方式数据的强制转换等这些都会牵涉到大小端问题。

  • 各自优点

    • 小端模式:强制转换数据不需要调整字节内容,比如int(4字节)转化成short(2字节),直接取出前面的低位两字节就可以了。
    • 大端模式:数据存储地址与数据阅读顺序一致,容易根据地址寻找;符号位的判定固定为第一个字节,容易判断正负。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

努力的小肥丸

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值