大端数与小端数

本文详细解释了大端数(big-endian)和小端数(little-endian)的概念,并通过实例对比了两种方式在内存中的存储顺序。同时提供了一种简单的方法来判断当前机器采用的是哪种字节序。

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

大端数(big-endian)和小端数(little-endian)这两个中文会让人绕晕,从英文上是比较好理解的

首先从内存单元上来看 排列顺序是这样的,也就是从下往上增长,从右往左增长,当一个指针指向一个int型(四内存单元)的变量时,指针的地址是地址最低的内存单元
这里写图片描述

big-endian:大的部分(数的高位)在存储单元的尾部
little-endian:小的部分(数的低位)在存储单元的尾部
最右边是尾部
所以就很好理解了,对于一个数int a=0x01020304

内存地址0x000000040x000000030x000000020x00000001
big-endian04030201
little-endian01020304


验证机器是big-endian还是little-endian
void main(){
int a=0x01020304;
cout<< (int)(*((char*)(&a)))<<endl; //取出最低位验证是01还是04即可
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值