系统大小端

产生原因:
计算机以字节为单位,一个地址单元储存一个字节,对于处理超过一字节的处理器,存在着如何安排多个字节的问题,于是出现了大小端的储存模式。

小端模式:
数据中低字节放在内存低地址中,高字节放在内存高地址中,数据优先填充到内存低地址中。

大端模式:
数据低字节放在内存高地址中,高字节存放在内存低地址中,数据优先填充到内存高地址中。

高低字节:
如short a=1,其二进制码为0000 0000 0000 0001,其低字节为后8位:0000 0001
高字节为前八位:0000 0000。

判断字节序:
我们可以定义一个两个字节的数据,再由一个字节的变量储存其低地址数据,通过低地址数据判断就可判断字节序

short test=1;
两字节变量,二进制码0000 0000 0000 0001

char temp;
一字节变量

temp=((char*)&test)[0];
将&test强制转换为char*类型,[0]取&test低地址。

printf("%d\n",temp);
如果输出1可以确定temp的储存状况为0000 0001,即test的低地址储存0000 0001,为小端模式,反之如果输出0为大端模式。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值