数据存储模式

数据存储模式(大端模式和小端模式)

大端模式: 高位字节存放在内存的低地址端,低位字节存放在内存的高地址端,如对于数字1278,其存放如下图所示
在这里插入图片描述
大端模式的优点: 符号位在所表示的数据的内存的第一个字节中,便于快速判断数据的正负和大小

小端模式: 高位字节存放在内存的高地址端,低位字节存放在内存的低地址端,如对于数字1278,其存放如下图所示
在这里插入图片描述
小端模式的优点:

  1. 内存的低地址处存放低字节,所以在强制转换数据时不需要调整字节的内容(注解:⽐如把int的4字节强制转换成short的2字节时,就直接把int数据存储的前两个字节给short就⾏,因为其前两个字节刚好就是最低的两个字节,符合转换逻辑);
  2. CPU做数值运算时从内存中依顺序依次从低位到⾼位取数据进⾏运算,直到最后刷新最⾼位的符号
    位,这样的运算⽅式会更⾼效

⼤⼩端的使⽤场景
1、Intel的80×86系列芯⽚使⽤⼩端存储模式
2、ARM芯⽚默认采⽤⼩端,但可以切换为⼤端
3、MIPS芯⽚采⽤⼤端,但可以在⼤⼩端之间切换
4、在⽹络上传输的数据普遍采⽤的都是⼤端

测试自己的机器是大端模式还是小端模式的代码如下:

//测试运行代码的机器存储方式是大端模式还是小端模式
#include <iostream>

using namespace std;

int main(int argc, char *argv[]) {
    int a = 1;
    char* pc = (char*)&a;
    if (*pc == 1) {
        cout << "小端模式" << endl;
    } else {
        cout << "大端模式" << endl;
    };
    return 0;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值