1.1. Системы счисления и преобразования между ними
Представим, как изменяется наш возраст в шестнадцатеричной системе: вы
получили свой паспорт в 10 лет и стали совершеннолетним в 12 лет.
Для шестнадцатеричной системы сохраняются те же принципы преобразования:
Число (524D)16 = 5*163 + 2*162 + 4*16» + 13*16° = 20 480 + 512 + 64 + 13 = 21 069
Число (DEAD)16 ш 13*163 + 14*162 + 10*16' + 13*16° = 57 005
Число (DEADBEEF)16 = 13*167 + 14*166 + 10*165 + 13*164 + 11*163 + 14*162 + 14*16' + 15*16° = 3 735 928 559
Число (С001)16 • 12*163 + 0*162 + 0*16' + 1 = 49 153
Итак, мы научились преобразовывать любое число, представленное в двоичной, восьмеричной и шестнадцатеричной системах, в десятичную систему. А теперь займемся обратным преобразованием — из десятичной системы в систему с основанием п. Для обратного преобразования мы должны делить наше число на п и записывать остатки от деления до тех пор, пока частное от предыдущего деления не станет равно 0. Например, преобразуем 14 в двоичную систему:
14/2 = 7 остаток 0
7/2 = 3 остаток 1
3/2 = 1 остаток 1
1/2 = 0 остаток 1
Мы завершили процесс деления, когда последнее частное стало равно 0.
Теперь запишем все остатки подряд от последнего к первому, и мы получим
число в двоичной системе — (1110)2.
Рассмотрим еще один пример — преобразование числа 13 в двоичную систему:
13/2 - 6 остаток 1
6/2 = 3 остаток 0
3/2 = 1 остаток 1
1/2 = 0 остаток 1
Как и в прошлом случае, мы делили до тех пор, пока частное не стало равно
0. Если записать остатки снизу вверх, мы получим двоичное число (1101)2.
А теперь потренируемся с шестнадцатеричной системой — преобразуем число
123456 в эту систему:
123456/16 = 7716 остаток 0
7716/16 = 482 остаток 4
482/16 = 30 остаток 2
30/16 = 1 остаток 14 = Е
1/16 = 0 остаток 1
После записи всех остатков получим, что число 123 456 = (1Е240)16.
Материал взят с книги Рудольф Марек "АССЕМБЛЕР на примерах Базовый курс"
Скачать книгу полностью
Другие новости