64-битные и 32-битные обозначают базовую единицу обработки в ЦП.Они не влияют на размер элементов массивов.
Ваше изображение обращается к порядку байтов, что является совершенно другой концепцией.
Если у вас целочисленное значение (шестнадцатеричное) 89AB, которое требует двух байтов, 89 или AB идет туда первым байтом?
Этот ответ зависит от процессора.Некоторые процессоры помещают старший значащий байт первым, так что 89 предшествует AB в памяти.
Некоторые процессоры помещают младший значащий байт в память, так что AB предшествует 89.
(И некоторые процессорынастраиваются так, чтобы операционная система могла выбирать, какой порядок использовать при запуске.)
Изображение представляет собой 32-битное представление (32-битная ОС).Таким образом, каждый массив памяти имеет 32-битную память, поскольку каждая шестнадцатеричная цифра имеет 16 бит.Я прав?
Нет, почти каждый процессор поддерживает целые числа разных размеров.Это изображение может отражать 16-битный, 32-битный, 64-битный ..... процессор.
Я не могу полностью понять результат этого кода с точки зрения 64-битной ОСправильно, каждый слот памяти имеет 32-х и 64-х битный в каждой ОС?
Нет.Все (почти все?) Современные процессоры работают на 8-битных байтах.
Цель вашего примера кода - показать порядок байтов на процессоре.Это не имеет ничего общего с 32-битными и 64-битными за исключением того, что компиляторы склонны использовать для процессора естественный целочисленный размер.Но это зависит от компилятора, а не от процессора.
Вы говорите, что получаете
|39 |30 |00 |00
Я предполагаю, что вы используете Intel или Intel-совместимый процессор.Если вы запустите это на 68000, вы получите
|00 |00 |30 |39