计算机大小端

文章介绍了内存中数据的存储模式,大端和小端的区别。大端模式下,数据高位在低地址,低位在高地址,而小端则相反。提供了两种判断机器是大端还是小端的方法:一是通过赋值给整型数据并读取值,二是利用联合体的内存共享特性。

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

我们先假定内存结构为上下型的,上代表内存高地址,下代表内存低地址。

电脑读取内存数据时,是从低位地址到高位地址进行读取(从下到上)。

1、何为大小端

大端:数据的高位字节存放在低地址,数据的地位字节存放在高地址。
小端:数据的高位字节存放在高地址,数据的地位字节存放在低地址。
可以记忆为:小高高

例如:
一个整型数,0x1a2b3c4d
在大端机器中,从低地址到高地址的存放顺序为:0x1a,0x2b,0x3c,0x4b;
在小端机器中,从低地址到高地址的存放顺序为:0x4d,0x3c,0x2b,0x1a;

2、怎样判断机器是大端还是小端

<方法1>

将字符数据赋值给整型数据,通过读取整型数据的值来判断,因为指针总是指向数据的低地址,若为小端
机,则数据赋值给了低位,若为大端机,则数据赋值给了高位。若i=10,则为小端机,否则为大端机。
在这里插入图片描述

<方法2>

通过联合体的共享内存特性来判断,同样的,由于联合体的较小的成员总是按照低地址和大的成员匹配,
若un.ch == 0x4d,则可以肯定是小端机,否则为大端机。
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值