Список предметов
Двійкова система числення
1 / 3

Двійкова система числення - це позиційна система запису чисел з основою два.

У повсякденному житті ми звикли користуватися десяткової системою запису чисел за основою 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
11
100
101
110
111
1000
1001
10   1010

Як видно із зазначеного вище, принцип запису чисел в двійковій системі точно такий же, просто використовується менша кількість символів в одному розряді.

Як розрізняють числа, записані в двійковій і десяткової системах

Для того, щоб не переплутати число 100, записане в десятковій системі з числом 100 в двійковій (що еквівалентне 4 в десяткового) використовують додаткові символи в кінці або на початку числа.

Наприклад:
10010 и 1002.
В даному випадку у вигляді нижнього індексу вказується основа системи числення.

У літературі, присвяченій програмування найчастіше використовують позначення чисел, що застосовуються в сімействі мов програмування С (С. С #, C ++). У цих мовах прийнято позначати двійкові числа префіксом 0b.
Тоді 100 в десятковій системі буде записано без змін, а 100 в двійковій системі буде записано як 0b100.

Додавання і віднімання двійкових чисел


Додавання і віднімання двійкових чисел можна робити абсолютно аналогічно принципам додавання і віднімання "в стовпчик" десяткових чисел.

Проведемо складання двох чисел 7 і 9.
У двійковій системі числення
710 = 1112
910 = 10012

Тоді
      1
 +   1 0 0
   1   0   0   0  0  

1610 = 100002 .

Як бачимо, складання 1 і 1 в молодшому розряді призведе до досягнення максимального значення, тобто він повинен бути скинутий (в нуль), а одиниця повинна бути додана до наступного розряду. Але там при додаванні вже є одиниця і додавання одиниці призведе нас до аналогічних дій - знову скидаємо розряд в нуль, переносимо одиницю в наступний і так далі.

Перетворення чисел з двійкової системи в десяткову


Для перетворення чисел, записаних в двійковій системі, в десяткову, нам буде потрібно таблиця ступенів числа 2.

Запишемо ступеня двійки у вигляді наступного рядка:
 256  128  64  32  16  8  4  2

Тепер будь-яке двійкове число можна буде перерахувати в десяткове наступним чином:

+256  +128 +64  +32  +16  +8 +4 +2 +1 
 Результат перерахунку
     1  64+8+4+1 = 77

Таким чином 10011012 = 7710.


Описание курса | Зберігання та кодування інформації