Адсессинг и порядок байтов в терминах байтов - PullRequest
0 голосов
/ 20 октября 2018

В учебнике я видел те вещи, которые не могут понять.

Например, предположим, что переменная x типа int имеет адрес 0x100;то есть значение адресного выражения & x равно 0x100.Затем (при условии, что тип данных int имеет 32-битное представление), 4 байта x будут храниться в ячейках памяти 0x100, 0x101, 0x102 и 0x103.

Но у меня есть несколько вопросов

  1. сколько бит содержит шестнадцатеричное число?Я имею в виду, что в двоичном числе 3 цифры означают 8 бит , поскольку каждая цифра может иметь значение 2 (0 или 1).Поэтому 2 * 2 * 2 = 8 бит = 1 байт.

Но шестнадцатеричное число может иметь 16 цифр на каждую цифру. Таким образом, 3 цифры означают 16 * 16 * 16 = 4096 бит = 512 байт. Прав ли я ???

В учебнике значение x 0x1234567 отображается от 0x100 до 01, от 0x101 до 23, от 0x102 до 45, от 0x103 до 56. Подобно

   0x100 | 0x101 | 0x102 | 0x103

    01   |  23   |  45   |  56

в 32-битномпредставление, каждый слот массива имеет 32 бита?но х составляет 4 байта.Х массив массива здесь?Если я прав, 01, 23, 45, 56 каждый имеет 4 байта, а не 4096 битов, что предполагается в 1

...