- •1.3. Представлення даних
- •1.3.1. Двійкові числа
- •1.3.1.1. Беззнакові цілі двійкові числа
- •1.3.1.2. Перетворення двійкових беззнакових чисел в десяткові числа
- •1.3.1.3. Перетворення беззнакових десяткових цілих чисел в двійкові
- •1.3.2. Додавання двійкових чисел
- •1.3.3. Розмір пам'яті, необхідний для зберігання цілих чисел
- •1.3.4. Шістнадцяткові числа
- •1.3.1.4. Перетворення беззнакових шістнадцятиричних чисел в десяткові
- •1.3.1.5. Перетворення беззнакових десяткових чисел в шістнадцяткові
- •1.3.5. Цілі числа зі знаком
- •1.3.5.1. Двійковий додатковий код
- •1.3.1.7. Якщо старший біт двійкового числа дорівнює 0, значить перед нами позитивне число. Воно перетворюється в десятковий еквівалент за аналогією з беззнако ¬ вимі двійковими числами.
- •1.3.6. Подання символьних даних
1.3. Представлення даних
Перш ніж приступити до опису пристрою комп'ютера та мови асемблера, сну ¬ чала потрібно познайомитися зі способами обробки і представлення чисел. Зокрема, дані, оброблювані комп'ютером, можна уявити кількома способами. Оскільки взаємодія з комп'ютером відбувається на рівні машинних кодів, дуже важливо вміти аналізувати вміст пам'яті і внутрішніх регістрів процес ¬ ра. Власне комп'ютер складається з набору цифрових електронних схем, у яких різняться тільки два логічних стану: включено (це стан відповідає логічній одиниці) і вимкнене (цей стан відповідає логічному нулю). У цій книзі для подання вмісту пам'яті комп'ютера іноді ми будемо використовувати ¬ вать двійкові числа. Проте найчастіше для цієї мети будуть використовуватися десяткові і шістнадцяткові числа. Тому у вас не повинно бути труднощів при читанні чи ¬ сів, представлених в різних форматах, і ви також повинні вміти переводити ці чис ¬ ла з однієї системи числення в іншу.
У кожному форматі представлення чисел, або системі числення, використовується своє базове значення, тобто максимальне значення числа, яке можна представити за допо ¬ могою одного розряду. У табл. 1.2 приведені всі можливі значення розрядів в різних системах числення, які найчастіше використовуються в комп'ютерній літературі. В останньому рядку цієї таблиці для представлення розрядів шістнадцяткового чис ¬ ла використовуються цифри від 0 до 9 і букви від А до Г, які відповідають десятковим числах від 10 до 15. Зазвичай для подання вмісту пам'яті комп'ютера і від ¬ бражения цифр машинного коду використовуються шістнадцяткові числа.
1.3.1. Двійкові числа
Комп'ютер зберігає команди і дані в пам'яті у вигляді набору електричних зоря ¬ дів, кожен з яких відповідає одній комірці, або биту. Образно кажучи, перебуваючи ¬ ня кожного осередку можна представити як перемикач із двома станами: включе ¬ но / вимкнено, або істина / неправда. Оскільки цей перемикач може перебувати тільки в одному з двох станів (тобто осередок може бути або заряджена, або розряджена), в ком ¬ пьютере логічно використовувати двійкову систему числення, в якій в якості бази вибрано число 2. Таким чином, кожен двійковий розряд (або біт4) може приймати тільки два значення - 0 або 1.
При відображенні л-розрядного двійкового числа його біти прийнято нумерувати справа наліво від 0 до п - 1. Лівий крайній біт числа називається старшим, а правий крайній - молодшим. На рис. 1.3 показаний приклад подання 16-розрядного двійкового числа, при цьому молодший і старший біти позначені як М і С, відповідно.
Двійкові цілі числа можуть мати знак або бути беззнаковими. Ціле число із зна ¬ ком може бути або позитивним або негативним. Беззнакові числа можуть бути тільки позитивними або дорівнювати нулю. При використанні спеціальних схем кодування за допомогою двійкових чисел можуть бути представлені речові числа. А тепер ми почнемо наш розгляд з найпростішого типу двійкових чисел - беззнакового цілого.
1.3.1.1. Беззнакові цілі двійкові числа
біти двійкового числа прийнято нумерувати від молодшого до старше ¬ му. Кожен біт беззнакового цілого двійкового числа, що має порядковий номер п, відповідає значенню числа 2п. На рис. 1.4 показано 8-розрядне двійкове число, а також значення ступеня двійки, відповідні його окремим розрядам. Зверніть увагу, що вони збільшуються від молодшого розряду до старшого, тобто справа наліво.