计算机储存的大小端格式,大小端存储的理解

在计算机内存中的数据存储的都是机器二进制序列,在学习c/c++语言的时候会定义到一些变量,比如

int(×××)、char(字符型).....但是在计算机中是怎样存储的呢?

计算机的内存地址是有高低之分的,那么一个×××数在内存中占有四个字节它又是怎样存储的呢?是低

位放在低地址,还是低位放在高地址?在这里我们可以通过一个小小的c程序来进行验证一下:#include

#include

int main()

{

int a=1;

char *p = NULL;

p = (char*)&a;

printf("%x\n", *p);

system("pause");

return 0;

运行结果是 1

首先来看一下计算机中是怎样存储1这个数的,1的二进制序列是00000000 00000000 00000000 00000001

假设计算机给这个×××数1分配的四个字节的内存空间是0-3,而这个程序打印的内容是最低地址上的内

容,结果是1,所以可以得出以下结论:

内存地址   0        1        2        3

内存内容00000001 00000000 00000000 00000000

或者举一个十六进制数的例子  假如定义的这个数是 0x11223344,那么结果便是这样的:

内存地址   0        1        2        3

内存内容  44        33       33       11

也就是低位是存在低地址里边的,这种模式就是计算机的小端存储模式。

相反如果结果是另一种情况:

内存地址   0        1        2        3

内存内容00000000 00000000 00000000 00000001

或者是十六进制数

内存地址   0        1        2        3

内存内容  11        22       33       44

这种模式就是另一种存储模式,称为大端存储

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值