测量计算机大小端的方法

本文介绍了计算机存储中的大小端概念,小端法和大端法的区别,并通过两个方法详细解释如何测试机器的大小端:一是利用共同体的储存覆盖机制,二是借助不同类型指针的解引用特性。这两种方式能帮助我们理解不同机器如何存储数据。
摘要由CSDN通过智能技术生成

什么机器的大小端?

 某些机器选择在储存器中按照最低有效字节最高有效字节的顺序储存对象,而另一些机器则按照从最高有效字节到最低有效字节储存的顺序储存对象。

前一种方式---最低有效字节在最前面的方式,成为小端法(little endian)。大多数Intel兼容机都采用这种小端模式的规则,后一种规则----最高有效字节在最前面的方式,称为大端法(big endian),大多数的IBM和Sun Microsystems的机器采用这种规则。

举例说明大小端

假设变量x的类型为int,位于地址0x100处,他的十六进制为0x12345678.地址范围为:0x100 ---  0x103,其储存的排列依赖于机器的类型。

 

这里写图片描述

方式一:利用共同体进行测试

原理:由于共同体类型采用的是储存覆盖机制,允许不同的类型数据相互覆盖,是一种同一储存区域由不同成员共享的数据类型。

共同体是多种数据的覆盖储存,几个不同的成员变量共同占同一段内存空间,而且都是从同一地址开始储存的,只是在任意时刻只储存一种数据,因此分配给共同体的储存区域大小至少要有储存最大一个成员类型所占用的储存空间。

利用上面的特性,就可以进

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值