按照字节序

时间:2018-10-20 16:55:09

标签: byte system bit endianness memory-address

在教科书中,我看到了一些无法理解的东西。

例如,假设int类型的变量x的地址为0x100;也就是说,地址表达式&x的值为0x100。然后(假设数据类型int具有32位表示形式),x的4个字节将存储在内存位置0x100、0x101、0x102和0x103中。

但是我有一些问题

  1. 十六进制数保留多少位? 我的意思是,在二进制数中, 3位数字表示8位,因为每个数字可以有2个值(0或1)。因此2 * 2 * 2 = 8位= 1字节。

但是十六进制数字的每个数字可以有16个数字。 所以3位数表示16 * 16 * 16 = 4096位= 512字节。我是对的吗?

  1. 在教科书中,x 0x1234567的值映射为0x100到01 0x101到23 0x102到45 0x103到56。就像

       0x100 | 0x101 | 0x102 | 0x103
    
        01   |  23   |  45   |  56
    

在32位表示中,每个阵列插槽都有32位吗?但是x是4个字节。是int的x数组吗?如果我是正确的,则01、23、45、56每个都有4个字节,而不是4096位(假定为1)

0 个答案:

没有答案