НОУ ІНТУЇТ | лекція | Двійкові числа і двоичная арифметика
- Принцип уявлення чисел в позиційних системах числення
- Переклад чисел з однієї системи числення в іншу
- Переклад з двійкової системи в шістнадцяткову (восьмеричну)
- Переклад з шістнадцятковій (восьмеричної) системи в двійкову
Анотація: Розглядається двійкова система числення як окремий випадок позиційної системи і основні правила двійковій арифметики.
Принцип уявлення чисел в позиційних системах числення
Позиційної називається система числення, в якій вага розряду числа визначається його позицією в запису числа [ 1 ].
Згадаймо нашу звичну десяткову систему числення, в якій ми з дитинства проводимо всі розрахунки. Уже в початковій школі ми звикли до термінів "одиниці", "десятки", "сотні", "тисячі", "десяті", "соті", "тисячні" і не замислюємося над тим, що вони означають вага розряду, виражений у вигляді числа, рівного , де
- ціле число . Наприклад, число 125, 46 можна представити у вигляді суми:
сотні десятки одиниці десяті частки соті частки
Аналогічно будь-яке число в десятковій системі числення можна представити у вигляді такої суми:
де - кількість знаків в цілій частині числа,
- кількість знаків у дробовій частині числа,
- вага
-го розряду,
- ваговий коефіцієнт для
-го розряду числа. Кількість можливих варіантів значення коефіцієнта
в десятковій системі числення одно
, Оскільки для запису чисел в ній використовуються десять знаків - арабські цифри "0", "1", "2", "3", "4", "5", "6", "7", "8" і " 9 ". число
є основою системи числення. Історично склалося, що десяткова система набула найбільшого поширення, хоча за цим принципом можна зробити аналогічну запис в будь-який інший системі числення c будь-яким іншим підставою. В табл. 11.1 Простежуючи ється аналогія між позиційними системами числення.
Підстава системи числення - це число, яке дорівнює кількості знаків, які використовуються в цій системі для запису чисел.
Для числа в системі числення з основою вираз (11.1) перетворюється до виду:
Таблиця 11.1. Параметри позиційних систем числення Назва системи числення Підстава системи числення Знаки, що використовуються для запису чисел Двійкова 2 0, 1 Трійкова 3 0, 1, 2 Четверичная 4 0, 1, 2, 3 ... ... ... Вісімкова 8 0, 1, 2, 3, 4, 5, 6, 7 ... ... ... Десяткова 10 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 ... ... ... Шістнадцяткова 16 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F ... ... ...
З початком розвитку цифрової обчислювальної техніки великий інтерес стала викликати двійкова система, оскільки обчислювальна машина будь-якого покоління і будь-якого ступеня складності - це сукупність логічних схем. Робота елементів цих схем заснована на ключовому режимі роботи транзистора, в якому він може бути тільки в двох станах, що приймаються за логічний 0 і логічну 1.
Запис двійкового числа, як буде показано нижче, як правило, досить довга і громіздка, тому для більш короткої записи двійкових чисел застосовуються восьмеричні і шістнадцяткові числа. Вибір саме цих систем обумовлений тим, що їх підстави рівні цілої ступеня числа 2. Підстава восьмеричної системи , А підстава шістнадцятковій системи - це
. Для запису шістнадцяткових чисел арабських цифр не вистачає, тому використовуються перші шість великих літер латинського алфавіту.
Отже, далі ми докладно розглянемо саме ці позиційні системи - двійкову, вісімкову, шістнадцяткову і їх зв'язок зі звичною нам десяткової системою числення.
Наведемо приклади запису чисел в зазначених системах і знайдемо їх десяткові еквіваленти за формулою (11.2).
Для двійкового числа:
Тут і далі будемо дотримуватися наступного правила: числа в двійковій, вісімковій та шістнадцятковій системах записуються із зазначенням підстави, десяткові - без цього запису.
Для вісімкового числа:
Для шістнадцятирічного числа:
Округлення відноситься до дробової частини числа, ціла частина перекладається точно. Особливістю перекладу з шістнадцятирічного коду в десятковий код є те, що в якості коефіцієнта використовується десятковий еквівалент шістнадцятирічного знака відповідно до таблиці 11.2. Для нашого прикладу замість знака "
"В розрахункову формулу (11.2) підставляється десяткове число
.
З розглянутих прикладів видно, що загальна формула (11.2) може використовуватися для перекладу числа з системи числення з будь-якою основою в десяткову.
Переклад чисел з однієї системи числення в іншу
Переклад з десяткової системи в будь-яку іншу. Переклад цілих чисел
Ціле десяткове число потрібно поділити на основу нової системи числення. Залишок від цього поділу є наймолодшим розрядом в новому записі числа. Результат ділення знову ділиться на підставу. Залишок від цього поділу буде наступним розрядом в новому записі числа, результат ділення знову ділиться на підставу і т.д. до тих пір, поки в результаті поділу вийде число, менше за величиною, ніж підстава нової системи. Залишок цього останнього розподілу буде передостаннім розрядом в новому записі числа, а результат цього останнього розподілу - найстаршим розрядом в новому записі числа.
Перевірка перекладу здійснюється за формулою (11.2), так, як це показано нижче на прикладах.
Приклад. Перевести десяткове число 125 в двійкову, вісімкову і шістнадцяткову системи числення. Перевірити результати по формулі (П11.2).
Перевірка:
У розглянутому прикладі при перекладі замість коефіцієнта використовується його десятковий еквівалент
відповідно до таблиці 11.2.
Переклад з двійкової системи в шістнадцяткову (восьмеричну)
Як вже було сказано вище, шістнадцятковий і восьмеричний коди використовуються для більш компактною і зручною запису двійкових чисел. Так, програмування в машинних кодах здійснюється в більшості випадків в шістнадцятковому коді. Правила перекладу для шістнадцятковій і вісімковій системи структурно однакові, відмінності для вісімковій системи відображаються в дужках.
Двійковий запис числа ділиться на групи по чотири (три) довічних знака вліво і вправо від коми, що відокремлює цілі і дробові частини Неповні крайні групи (якщо вони є) доповнюються нулями до чотирьох (трьох) знаків. Кожна група замінюється одним шістнадцятковим (восьмеричним) знаком відповідно до кодом групи ( табл. 11.2 ).
Таблиця 11.2. Відповідність довічних груп, шістнадцятирічних і вісімкових знаків Двоичная група Шестнадцатерічний знак Десятковий еквівалент Двоичная група Восьмирічний знак 0000 0 0 000 0 0001 1 1 001 1 0010 2 2 010 2 0011 3 3 011 3 0100 4 4 100 4 0101 5 5 101 5 0110 6 6 110 6 0111 7 7 111 7 1000 8 8 1001 9 9 1010 A 10 1011 B 11 1100 C 12 1101 D 13 1110 E 14 1111 F 15
приклади:
Переклад з шістнадцятковій (восьмеричної) системи в двійкову
Зазвичай програми в машинних кодах записані в шістнадцятковій системі числення, рідше - в вісімковій. При необхідності окремі числа такої програми записуються в двійковому коді, наприклад, при розгляді форматів регістрів, кодів операції команд і т.п. У цьому випадку потрібен зворотний переклад з шістнадцятковій (восьмеричної) системи числення в двійкову за таким правилом.
Кожна цифра (без всяких скорочень!) Шістнадцятирічного (вісімкового) числа замінюється однією двійковій групою з чотирьох (трьох) двійкових символів ( табл. 11.2 ).
приклади:
Як показано в прикладах, крайні нулі зліва і справа при бажанні можна не писати, але таке скорочення робиться вже після перекладу в двійкову систему.