假设某计算机采用小端方式存储,按字节编址。一维数组a有100个元素,其类型为float,存放在地址COO0 1000H开始的连续区域中,则最后一个数组元素的最高有效位(MSB)所在的地址应为( )。

admin2019-07-18  60

问题 假设某计算机采用小端方式存储,按字节编址。一维数组a有100个元素,其类型为float,存放在地址COO0 1000H开始的连续区域中,则最后一个数组元素的最高有效位(MSB)所在的地址应为(    )。

选项 A、C000 1396H
B、C000 1399H
C、C000 118CH
D、C000 118FH

答案D

解析 这里考到了一个非常重要的概念--小端法,float类型的数据在计算机中占4个字节,100个float类型的数组元素应当占400字节,即最后一个字节在内存中的相对地址应为399,加上初始数组起始地址C000 1000H,得到最后一个字节的地址是C000 118FH,又因为是小端法,则最后一个数组元素的低位字节在前,高位字节在后,所以最后一个字节就是最后一个数组元素的最高有效位地址,所以答案是D。
【重要总结】术语“小端”和“大端”表示多字节值的哪一端(小端或大端)存储在该值的起始地址。小端存在起始地址,即是小端字节序;大端存在起始地址,即是大端字节序。
也可以说:
1)小端法( Little—Endian)就是低位字节排放在内存的低地址端,即该值的起始地址,高位字节排放在内存的高地址端。
2)大端法( Big—Endian)就是高位字节排放在内存的低地址端,即该值的起始地址,低位字节排放在内存的高地址端。
举个简单的例子,对于整形0×12345678,它在大端法和小端法的系统内中,分别如图5—5所示的方式存放。
转载请注明原文地址:https://jikaoti.com/ti/miGjFFFM
0

最新回复(0)