Как я могу определить десятичное значение 32-битного слова, содержащего 4 шестнадцатеричных значения? - PullRequest
0 голосов
/ 15 февраля 2019

Предположим, байт 0 в ОЗУ содержит значение 0x12.Последующие байты содержат 0x34, 0x45 и 0x78.В системе Big-Endian с 32-битным словом, каково десятичное значение слова?

Я знаю, что для системы с большим порядком байтов порядок слова будет 0x78, 0x45, 0x34, 0x12.Я преобразовал каждое значение в десятичное и получил 120, 69, 52, 18. Я хочу знать, чтобы получить десятичное значение слова, сложить ли все эти значения вместе (120 + 69 + 52 + 18), илиинтерпретировать их как цифры в десятичном числе (120695218)?

1 Ответ

0 голосов
/ 16 февраля 2019

Знаете ли вы, как преобразовать одно целое число из шестнадцатеричного в десятичное?В системе с прямым порядком байтов у вас есть целочисленное значение 0x12344578 = ... + 5*16^2 + 7*16^1 + 8*16^0.


Если бы вы писали компьютерную программу для печати слова как десятичного, у вас уже было бы словокак двоичное целое число (hex - это читаемый человеком формат сериализации для двоичного файла, который фактически не используется для внутреннего использования), и вы будете делать повторное деление на 10, используя каждый раз остаток в качестве младшего разряда.(Таким образом, вы сначала генерируете цифры LSD, в обратном порядке печати.)

И для программы, порядковый номер не будет проблемой.Вы бы просто загрузили слово, чтобы получить целочисленное значение слова в регистре.

...