Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ТИЖ.docx
Скачиваний:
2
Добавлен:
23.11.2018
Размер:
29.43 Кб
Скачать

1.3.4. Шістнадцяткові числа

З багаторозрядними двійковими числами дуже важко працювати, оскільки їх неве ¬ роятно важко аналізувати. Тому при поданні двійкових чисел в ассемблерной програмі і відладчик зазвичай використовується шістнадцяткова форма запису. Кожна цифра в шістнадцятковому числі представляє собою 4 біта, а 2 шістнадцяткові цифри разом складають I байт.

Одне шістнадцяткове число може приймати значення від 0 до 15, тому, кро ¬ ме чисел 0 ... 9, для відображення значень від 10 до 15 використовують символи від А до V: А = 10, В = 11, С = 12, і = 13, Е = 14, Г = 15. У табл. 1.8 показано, як різні чотирьох ¬ бітові послідовності переводяться в десяткові і шістнадцяткові значення.

Часто для більшої наочності запису двійкових чисел групи з 4 бітів (або тетра ¬ ди) відокремлюють один від одного пробілом. Тоді перевести число з двійкової форми в шест-надцатерічную не складе особливих труднощів.

1.3.1.4. Перетворення беззнакових шістнадцятиричних чисел в десяткові

У шістнадцятковій системі числення, кожен розряд числа (чи цифра) пред ¬ вить відповідне його становищу значення ступеня числа 16. Це потрібно враховувати ¬ вать при перетворенні шістнадцятиричних чисел в десяткові. Для початку ми повинні пронумерувати шістнадцяткові цифри справа наліво. Для 4-розрядного шестнадца-терічного числа це буде виглядати так: D ^ DjD ^ D0. Тоді еквівалентну десяткове

значення можна визначити за допомогою наступної формули:

dec = (D3 X 163) + (D2 X 162) + (D, X 16 ') + (Dq X 16 °).

Цю формулу можна узагальнити для довільного / 7-розрядного шістнадцяткового числа:

dec = (Dn_j х 16 "') + (D". _2 х 16 "2) + - + (D {х 16") + (Dq x 16 °).

Наприклад, шістнадцяткове число 1234 одно десятковому числу 4660, так як

(1 х 163) + (2х 162) + (3 х 16 ') + (4 х 16 °) = 4660.

Аналогічно, шістнадцяткове число ЗВА4 одно десятковому числі 15 268, так як:

(Зх 163) + (11 х 162) + (10 х 16 ') + (4 х 16 °) = 15 268. Останній приклад проілюстровано на рис. 1.8.

3 * 163 = 12 288

11 * 162 = 2 816

10 * 161 = 160

| 4 * 16 ° = 1 4

з в А 4 Разом: 15268

Рис. 1.8. Приклад перекладу шістнадцяткового числа на десяткове

У табл. 1.10 наведені значення ступенів числа 16, від 16 ° до 167.

1.3.1.5. Перетворення беззнакових десяткових чисел в шістнадцяткові

Щоб перетворити беззнаковое десяткове число в шістнадцяткове, потрібно виконати декілька послідовних операцій цілочисельного ділення на 16, каж ¬ дий разів зберігаючи залишок у відповідному шістнадцятковому розряді. У табл. 1.11

наведено приклад перетворення десяткового числа 422 у шістнадцяткове.

Зібравши всі шістнадцяткові цифри, отримані в залишку, що перераховані в третій колонці таблиці, і записавши їх у зворотному порядку, одержимо шукане число 1А6. Ви, напевно, вже помітили, що ми використовували такий же алгоритм для перетворення ¬ тання десяткових чисел в двійковим (див. розділ 1.3.1). Насправді цей алгоритм працює при будь-якому значенні бази, а не тільки 2 або 16.

1.3.5. Цілі числа зі знаком

Як ми вже говорили, цілі числа із знаком можуть бути як позитивними, так і негативними. Найчастіше знаковий розряд займає старший біт числа. Якщо його значення дорівнює 0, число вважається позитивним, а якщо 1, то негативною. На рис. 1.9 наведено приклад позитивного і негативного двійкових чисел, распо ¬ лежання в одному байті.

Знаковий розряд

I

Негативне число

Позитивне число

Рис. 1.9. Приклад позитивного і негативного двійкового числа