什么机器的大小端?
某些机器选择在储存器中按照最低有效字节到最高有效字节的顺序储存对象,而另一些机器则按照从最高有效字节到最低有效字节储存的顺序储存对象。
前一种方式---最低有效字节在最前面的方式,成为小端法(little endian)。大多数Intel兼容机都采用这种小端模式的规则,后一种规则----最高有效字节在最前面的方式,称为大端法(big endian),大多数的IBM和Sun Microsystems的机器采用这种规则。
举例说明大小端
假设变量x的类型为int,位于地址0x100处,他的十六进制为0x12345678.地址范围为:0x100 --- 0x103,其储存的排列依赖于机器的类型。
方式一:利用共同体进行测试
原理:由于共同体类型采用的是储存覆盖机制,允许不同的类型数据相互覆盖,是一种同一储存区域由不同成员共享的数据类型。
共同体是多种数据的覆盖储存,几个不同的成员变量共同占同一段内存空间,而且都是从同一地址开始储存的,只是在任意时刻只储存一种数据,因此分配给共同体的储存区域大小至少要有储存最大一个成员类型所占用的储存空间。
利用上面的特性,就可以进