计组 & 操作 | 基础 |大端序、小端序

字节序 大端字节序 小端字节序

介绍:由于计算机的存储单元是定死的,当出现存储的数据超过存储单元时,就要在用一个甚至若干个存储单元去存储数据

比如存储单元大小为1B,当这8位全1,存储范围也只能是0~255,如果要存储

65530

11111111 11111010

0xFF 0xFA

高字节 低字节

为了方便叙述:类似十进制, 58 58由两个数字 5和8进行存储,5是高位,8是低位

这样就会出现两情况(默认从做到右)是大端存储还是小端存储

数据保存在内存上的,数据存放位置顺序肯定是从低到高,也就是从低地址到高地址。

那么大端存储:低地址存放高位,高地址存放低位

其在内存存储顺序为:0xFF 0xFA

​ 小端存储:低地址存放低位,搞地质存放高位

其在内存存储顺序为:0xFA 0xFF

总结

为什么会有大端字节序和小端字节序?

  • 计算机电路处理低字节序,效率比较高,因为计算都是从低位开始的
  • 人类习惯读写大端字节序,所以除了计算机内存处理,其他场合几乎都是大端字节序,比如:网络传输和文件存储。
/*
判断电脑是大端还是小端排序
*/
int main()
{
    int a = 1;
    if( 1== ((char *)&a)[0]){
        printf("小端字节序\n");
    }
    else if( 0== ((char *)&a)[0]){
        printf("大端字节序\n");
    }
    return 0;
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值