Предыдущий раздел ДВОИЧНЫЕ И ШЕСТНАДЦАТЕРИЧНЫЕ ЧИСЛА Следующий раздел

1.2. Шестнадцатиричные числа

В то время как процессор и другие устройства ЭВМ используют только двоичное представление информации, такое представление очень неудобно для человека, который анализирует содержимое памяти ЭВМ. Введение шестнадцатеричных чисел значительно облегчает эту задачу. При этом, как будет показано далее, шестнадцатеричное число фактически представляет собой сокращенную форму записи двоичного числа.

Допустим, что мы хотим проанализировать содержимое четырех последовательных байтов (двух слов). Разделим мысленно каждый байт пополам и запишем для каждого полубайта соответствующее десятичное значение:

         0101      1001      0011      0101      1011      1001      1100      1110

             5            9          3            5          11          9           12         14

Чтобы не использовать для некоторых полубайтов две десятичные цифры, рассмотрим систему счисления:  10 = А, 11 = В, 12 = С, 13 = D, 14 = E, 15 = F. Теперь содержимое тех же самых четырех байтов выглядит более удобно:

        59 35 В9 СЕ

Такая система счисления включает «цифры» от 0 до F, и так как таких цифр 16, то она называется шестнадцатеричной. В табл. 1 приведено соответствие между двоичными, десятичными и шестнадцатеричными числами от 0 до 15(10).

Подобно двоичным и десятичным цифрам каждая шестнадцатеричная цифра имеет вес, кратный основанию счисления. Таким образом, каждая цифра имеет вес в 16 раз больше, чем соседняя справа цифра. Крайняя правая цифра имеет вес 160 = 1, следующая 161 = 16, 162 = 256, 163 = 4096, 164 = 65536.

Например, шестнадцатеричное число F  имеет десятичное значение:

(3 × 162) + (А × 161) + (F × 160) = (3 × 256) + (10 × 16) + (15 × 1) = 943.

Для обозначения шестнадцатеричного числа часто используют букву Н(или h), например 3AFh. Над шестнадцатеричными числами можно выполнять арифметические операции подобно тому, как они выполняются над десятичными числами. Но в отличие от десятичных чисел, только две арифметические операции над шестнадцатеричными числами имеют практическое значение:

1) сложение чисел (используется для определения суммарной области памяти, занимаемой программой);

2) вычитание из большего шестнадцатеричного числа меньшего (используется для определения длины области памяти)

.

Т а б л и ц а 1.

 

Например, найдем сумму и разность чисел h  и  B5h:   

     а)       6A                                б)        В5

             +B5                                        -

             11F                                         

Выполнение записанных действий над шестнадцатеричными числами аналогично соответствующим действиям “в столбик” над десятичными числами. Единственное отличие – роль числа 10 при переносе и заеме теперь играет число 16.

 


Предыдущий раздел В начало Следующий раздел