将32位字转换为大端

时间:2014-02-04 22:58:02

标签: hex

我不明白这个问题:

根据big-endian方案,考虑具有以32位字组织的字节可寻址存储器的系统。程序将2个整数读入数组,并将它们存储在连续的位置,从地址0x00001000处开始。 2个整数分别为1025和287,454,020。

在存储两个整数后,在位置0x00001000和0x00001004显示两个存储字的内容。

任何人都可以解释如何做到这一点?这对我来说就像是一种新语言。

1 个答案:

答案 0 :(得分:2)

Big endian只是意味着在增加内存地址时字节从最重要到最不重要排序,所以:

0x00001000  00 04 00 01     ; 1024 (decimal)      = 00040001 (hex)
0x00001004  11 22 33 44     ; 287454020 (decimal) = 11223344 (hex)

为了完整起见,如果这是一个小端系统,那么内存将如下所示:

0x00001000  01 00 04 00     ; 1024 (decimal)      = 00040001 (hex)
0x00001004  44 33 22 11     ; 287454020 (decimal) = 11223344 (hex)