|
Двійкова система числення - це позиційна система запису чисел з основою два.
У повсякденному житті ми звикли користуватися десяткової системою запису чисел за основою 10. Тобто для запису чисел у нас є десять символів від 0 до 9, а місце кожного символу (позиція) вказує його вага - одиниці, десятки, сотні і т.д.
У двійковій системі числення все влаштовано аналогічним чином, тільки для запису чисел у нас всього два символи - 0 і 1.
Через те, що для запису числа у нас тільки два символи (0 і 1), вона знайшла широке застосування в електронних пристроях та обчислювальної техніки. Незважаючи на численні спроби використання для обчислень аналогових пристроїв, системи з трійковою логікою (потрійна система числення з символами 0, 1 і 2), системи з двійковій логікою в даний час займають домінуюче становище. Втім, з приходом квантових обчислень, ситуація, швидше за все, зміниться.
Як влаштований запис чисел в двійковій системі
За аналогією зі звичною десятковою системою, при переповненні розряду, необхідно додати ще один, що заповнюється одиницею.
У десятковій системі максимальне значення в одному розряді - число 9. Якщо нам потрібно додати одиницю - то поточний розряд обнуляється, а в сусідньому (старшому) розряді з'являється одиниця:
9
додаємо 1, отримуємо
10
(Старший розряд - одиниця, молодший - обнулився)
Тепер "порахуємо до десяти" в двійковій системі.
0. У двійковій системі так і буде - 0.
1. У двійковій системі так і буде - 1.
2. Символу 2 в двійковій системі немає. Тому молодший розряд скидається, а старший додається як 1. Отримуємо 10.
3. Додаємо одиницю. Оскільки у нас було 10, молодший розряд може бути збільшений на 1, отримуємо - 11.
4. Молодший розряд знову досяг максимального значення, тому ми повинні його скинути, але наступний розряд теж досяг максимального значення (1), його теж скидаємо і додаємо новий розряд. Отримуємо - 100.
5. Додаємо одиницю в молодший регістр. У нас було записано число 4 як 100, додаємо 1 в молодший розряд і отримуємо 101.
6. Додаємо одиницю в молодший розряд, але він досяг максимального значення, скидаємо його і додаємо одиницю в наступний. Отримуємо 110.
7. Додаємо одиницю в молодший регістр. Отримуємо - 111.
8. Намагаємося додати одиницю до двійкового числа 111 і бачимо, що нам потрібно послідовно скинути вже цілих три розряди і додати ще один розряд. Отримаємо 1000.
9. Додаємо одиницю до двійкового числа 1000, отримуємо - 1001.
10. Додаємо одиницю до молодшого розряду, але він досяг максимального значення, скидаємо його і додаємо одиницю до наступного. Отримуємо 1010.
Підведемо підсумки:
У десятковій
системі
|
У двійковій
системі
|
0
|
0
|
1
|
1
|
2
|
10
|
3
|
11
|
4
|
100
|
5
|
101
|
6
|
110
|
7
|
111
|
8
|
1000
|
9
|
1001
|
10
|
1010
|
Як видно із зазначеного вище, принцип запису чисел в двійковій системі точно такий же, просто використовується менша кількість символів в одному розряді.
Як розрізняють числа, записані в двійковій і десяткової системах
Для того, щоб не переплутати число 100, записане в десятковій системі з числом 100 в двійковій (що еквівалентне 4 в десяткового) використовують додаткові символи в кінці або на початку числа.
Наприклад:
10010 и 1002.
В даному випадку у вигляді нижнього індексу вказується основа системи числення.
У літературі, присвяченій програмування найчастіше використовують позначення чисел, що застосовуються в сімействі мов програмування С (С. С #, C ++). У цих мовах прийнято позначати двійкові числа префіксом 0b.
Тоді 100 в десятковій системі буде записано без змін, а 100 в двійковій системі буде записано як 0b100.
Додавання і віднімання двійкових чисел
Додавання і віднімання двійкових чисел можна робити абсолютно аналогічно принципам додавання і віднімання "в стовпчик" десяткових чисел.
Проведемо складання двох чисел 7 і 9.
У двійковій системі числення
710 = 1112
910 = 10012
Тоді
|
|
|
1
|
1
|
1
|
+
|
|
1
|
0
|
0
|
1
|
|
1
|
0
|
0
|
0
|
0
|
1610 = 100002 .
Як бачимо, складання 1 і 1 в молодшому розряді призведе до досягнення максимального значення, тобто він повинен бути скинутий (в нуль), а одиниця повинна бути додана до наступного розряду. Але там при додаванні вже є одиниця і додавання одиниці призведе нас до аналогічних дій - знову скидаємо розряд в нуль, переносимо одиницю в наступний і так далі.
Перетворення чисел з двійкової системи в десяткову
Для перетворення чисел, записаних в двійковій системі, в десяткову, нам буде потрібно таблиця ступенів числа 2.
Запишемо ступеня двійки у вигляді наступного рядка:
Тепер будь-яке двійкове число можна буде перерахувати в десяткове наступним чином:
+256
|
+128
|
+64
|
+32
|
+16
|
+8
|
+4
|
+2
|
+1
|
Результат перерахунку
|
|
|
1
|
0
|
0
|
1
|
1
|
0
|
1
|
64+8+4+1 = 77
|
Таким чином 10011012 = 7710.
Описание курса
| Зберігання та кодування інформації
|