Двійкова система числення
Системи числення |
---|
Індо-арабська система числення |
Східна Азія |
Алфавітні |
Давні |
Позиційні системи числення за основою |
Не стандартні позиційні системи числення[en] |
Список систем числення[en] |
Двійкова система числення — це позиційна система числення, база якої дорівнює двом та використовує для запису чисел тільки два символи: зазвичай 0 (нуль) та 1 (одиницю). Числа, представлені в цій системі часто називають двійковими або бінарними числами.
Для запису числа у двійковій системі числення використовується представлення цього числа за допомогою степенів числа 2.
Завдяки тому, що таку систему доволі просто використовувати в електричних схемах, двійкова система отримала широке розповсюдження у світі обчислювальних пристроїв.
Двійкове число можна представити як послідовність будь-яких об'єктів, які можуть знаходитися в одному з двох можливих станів. Наприклад: Числа, що можуть приймати значення 0 або 1: 1 0 1 0 0 1 1
Двійкова система числення є позиційною системою числення, база якої дорівнює двом. Завдяки тому, що таку систему доволі просто використовувати у електричних схемах, двійкова система отримала широке розповсюдження у світі обчислювальних пристроїв.
Двійкове число можна представити як послідовність будь-яких об'єктів, які можуть знаходитися в одному з двох можливих станів. Наприклад:
- числа, що можуть приймати значення 0 або 1;
- позиції, на яких можуть стояти хрестики або нулики: х о х о о х х;
- вузли електричної схеми, які може бути, а може не бути зіструмлено;
- ділянки магнітної стрічки, які можуть бути, чи не бути намагніченими.
Зазвичай, для позначення двійкових чисел використовують нулі та одиниці. Перші персональні комп'ютери для відображення чисел мали ряд електричних лампочок (кожна з яких, зрозуміло, може або світитися, або бути вимкненою).
Переваги:
- для її реалізації потрібні технічні пристрої з двома стійкими станами: є струм — немає струму; намагнічений — не намагнічений;
- представлення інформації за допомогою тільки двох станів надійно і завадостійко;
- можливе застосування апарату булевої алгебри для виконання логічних перетворень інформації;
- двійкова арифметика набагато простіша за десяткову.
Недолік: швидке зростання числа розрядів, необхідних для запису чисел.
Рахувати у двійковій системі не складніше, ніж у будь-якій іншій. Скажімо, у десятковій системі, коли число у поточному розряді сягає десяти, то розряд обнуляється і одиниця додається до старшого. Наприклад: 9 + 1 = 10, 44 + 7 = 51; Аналогічним чином у двійковій системі: коли число в розряді сягає двох — розряд обнуляється і одиниця додається до старшого розряду. Тобто: 1 + 1 = 10. Зверніть увагу, «10» у цьому записі — двійкове число, у десятковій системі це число записується як «2». А десяткове 9 + 1 = 10 у двійковій системі буде виглядати так: 1001 + 1 = 1010 (після додавання одиниці число в останньому розряді дорівнює двом, тож розряд обнуляється і одиниця додається до передостаннього (старшого) розряду).
+ | 0 | 1 |
---|---|---|
0 | 0 | 1 |
1 | 1 | 10 (перенесення у старший розряд) |
Приклад додавання «стовпчиком» (1410 + 510 = 1910 або 11102 + 1012 = 100112):
+ | 1 | 1 | 1 | 0 | |
---|---|---|---|---|---|
1 | 0 | 1 | |||
1 | 0 | 0 | 1 | 1 |
- | 0 | 1 | |
---|---|---|---|
0 | 0 | 1 | |
1 | 1 (позика зі старшого розряду) | 0 |
× | 0 | 1 |
---|---|---|
0 | 0 | 0 |
1 | 0 | 1 |
Приклад множення «стовпчиком» (1410 * 510 = 7010 або 11102 * 1012 = 10001102):
× | 1 | 1 | 1 | 0 | |||
---|---|---|---|---|---|---|---|
1 | 0 | 1 | |||||
+ | 1 | 1 | 1 | 0 | |||
1 | 1 | 1 | 0 | ||||
1 | 0 | 0 | 0 | 1 | 1 | 0 |
Приклад 1. Обчислити кількість інформації в слові «Інформатика» за умови, що для кодування використовується 32-значна абетка.
Розв'язок. Обчислимо кількість інформації, що відповідає 1 символу при використанні 32-значного алфавіту : 32 = 2х, х = 5 біт. Слово «Інформатика» складається з 11 символів, отримуємо 11* 5 = 55 (біт).
Приклад 2. Растровий графічний файл містить чорно-біле зображення з 2 градаціями кольору (чорний і білий) розміром 800×600 точок. Визначте необхідний розмір цього файлу у байтах для кодування кольору точок (без урахування службової інформації про формат, авторство, способи стиснення тощо).
Розв'язок. Оскільки сказано, що зображення двокольорове, отже, для вказівки кольору однієї точки досить двох значень, що кодують білий або чорний колір. Два значення можуть бути закодовані одним бітом. Обсяг графічного файлу розраховується по формулі V=i×k, де i — глибина кольору, а k — кількість точок.
Тоді розмір графічного файлу дорівнює 800×600×1 біт = 480 000 бітів, враховуючи, що 8 бітів = 1 байт отримуємо 480 000 / 8 = 60 000 байтів. У реальності в графічних документах окрім опису кольору точок є присутньою ще і службово-додаткова інформація (про формат запису, авторські права, способи стиснення).
Для перетворення з двійкової системи в десяткову використовують таку таблицю ступенів основи 2:
1024 | 512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|
Починаючи з цифри 1 всі цифри множаться на два. Крапка, яка стоїть після 1, називається двійковою крапкою.
Припустимо, дано двійкове число 1100012. Для конвертування в десяткове запишіть його як суму за розрядами таким чином:
1 * 25 + 1 * 24 + 0 * 23 + 0 * 22 + 0 * 21 + 1 * 20 = 49
Теж саме але трохи по-іншому:
1 * 32 + 1 * 16 + 0 * 8 + 0 * 4 + 0 * 2 + 1 * 1 = 49
Можна записати у вигляді таблиці таким чином:
512 | 256 | 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 |
---|---|---|---|---|---|---|---|---|---|
1 | 1 | 0 | 0 | 0 | 1 | ||||
+32 | +16 | +0 | +0 | +0 | +1 |
Пересувайтесь справа наліво. Під кожною двійковою одиницею напишіть її еквівалент у рядку нижче. Складіть отримані десяткові числа. Таким чином, двійкове число 1100012 рівнозначне десятковому 4910.
Необхідно перевести число 1011010,1012 у десяткову систему. Запишемо число таким чином:
1*26 + 0*25 + 1*24 + 1*23 + 0*22 + 1*21 + 0*20 + 1*2-1 + 0*2-2 + 1*2-3 = 90,625
Теж саме але трохи по-іншому:
1 * 64 + 0 * 32 + 1 * 16 + 1 * 8 + 0 * 4 + 1 * 2 + 0 * 1 + 1 * 0,5 + 0 * 0,25 + 1 * 0,125 = 90,625
Або за допомогою таблиці:
64 | 32 | 16 | 8 | 4 | 2 | 1 | 0.5 | 0.25 | 0.125 | |
---|---|---|---|---|---|---|---|---|---|---|
1 | 0 | 1 | 1 | 0 | 1 | 0 | , | 1 | 0 | 1 |
+64 | +0 | +16 | +8 | +0 | +2 | +0 | +0.5 | +0 | +0.125 |
Для того, щоб перетворювати числа з двійкової в десяткову систему даним методом, треба підсумувати цифри зліва направо, множачи раніше отриманий результат на основу системи (в даному випадку 2). Методом Горнера зазвичай перекладають з двійкової в десяткову систему числення. Зворотна операція складна, тому що вимагає навичок додавання і множення в двійковій системі числення. Наприклад, двійкове число 10110112 переводиться в десяткову систему так:
0*2 + 1 = 1
1*2 + 0 = 2
2*2 + 1 = 5
5*2 + 1 = 11
11*2 + 0 = 22
22*2 + 1 = 45
45*2 + 1 = 91
Тобто в десятковій це число буде записано як 91.
Припустимо, нам потрібно перетворити число 21 на двійкове. Ви можете скористатися такою процедурою:
21 /2 = 10 з залишком 1
10 /2 = 5 без залишку 0
5 /2 = 2 з залишком 1
2 /2 = 1 без залишку 0
1 /2 = 0 з залишком 1
Отже, ми ділимо кожне частне на 2 і записуємо залишок на кінець двійкового запису. Продовжуємо поділ до тих пір, поки в частному не буде 0. Результат записуємо справа наліво. Тобто нижня цифра (1) буде самою лівою і т. д. В результаті отримуємо число 21 в двійковій запису: 10101.
Якщо у вихідному числі є ціла частина, то вона перетвориться окремо від дробової. Переклад дробового числа з десяткової системи числення в двійкову здійснюється за таким алгоритмом:
- Дріб множиться на основу двійкової системи числення (2);
- В отриманому добутку виділяється ціла частина, яка приймається як старший розряд числа в двійковій системі числення;
- Алгоритм завершується, якщо дробова частина отриманого добутку дорівнює нулю або якщо досягнута необхідна точність обчислень. В іншому випадку обчислення тривають над дробовою частиною добутку.
Приклад: Потрібно перевести десяткове дробове число 206,116 в дробове двійкове число.
Переведення цілої частини дає 20610=110011102 за раніше описаним алгоритмом. Дробову частину 0,116 множимо на основу 2, заносячи цілі частини добутку у розряди після коми шуканого дробового двійкового числа:
0,116 • 2 = 0,232
0,232 • 2 = 0,464
0,464 • 2 = 0,928
0,928 • 2 = 1,856
0,856 • 2 = 1,712
0,712 • 2 = 1,424
0,424 • 2 = 0,848
0,848 • 2 = 1,696
0,696 • 2 = 1,392
0,392 • 2 = 0,784
і т. д.
Таким чином 0,11610 ≈ 0,00011101102
Отримаємо: 206,11610 ≈ 11001110,0001110110
Двійкова система використовується в цифрових пристроях, оскільки є найбільш простою і відповідає вимогам:
- Що менше значень існує в системі, то простіше виготовити окремі елементи, які оперують цими значеннями. Зокрема, дві цифри двійкової системи числення можуть бути легко представлені багатьма фізичними явищами: наявний струм (струм більше порогової величини) — відсутній струм (струм менше порогової величини), індукція магнітного поля більше порогової величини чи ні (індукція магнітного поля менше порогової величини) і т. д.
- Чим менша кількість станів у елемента, тим вища надійність і тим швидше пристрій може працювати. Наприклад, щоб закодувати три стани через величину напруги, струму або індукції магнітного поля, потрібно ввести два граничних значення і два компаратора.
- Двійкова арифметика є досить простою. Простими є таблиці додавання і множення — основних дій над числами.
У цифровій електроніці одному двійковому розряду в двійковій системі числення відповідає (очевидно) один двійковий розряд двійкового регістра, тобто двійковий тригер з двома станами (0, 1).
У обчислювальній техніці широко використовується запис від'ємних двійкових чисел в доповняльному коді. Наприклад, число −510 може бути записано як −1012 але в 32-бітному комп'ютері зберігатиметься як 111111111111111111111111111110112.
При вказівці лінійних розмірів в дюймах за традицією використовують двійкові дроби, а не десяткові, наприклад: 5¾″, 715/16″, 311/32″ і т.
У кодуванні ASCII на кожен символ відводиться 1 байт = 8 біт.
У кодуванні Unicode на кожен символ відводиться 2 байти = 16 біт.
Приклад 1. При кодуванні за допомогою Unicode знайти інформаційний обсяг фрази «Вчення — світло, а невчення — пітьма»!.
Рішення. Підрахуємо число символів в заданій фразі, враховуючи букви, пропуски і розділові (тире, кому, знак оклику) знаки. Всього символів — 33. Вичислимо розмір фрази : 33 * 2 = 66 байт = 528 біт.
Приклад 2. Повідомлення містить 4096 символів. Розмір повідомлення при використанні рівномірного коду склав 1/512 Мбайт. Знайти потужність алфавіту, за допомогою якого записано це повідомлення.
Рішення. Потужність алфавіту — кількість символів в алфавіті. Переведемо інформаційний розмір повідомлення у біти.
Для кодування одного символу відводиться
Тоді потужність алфавіту по формулі Р. Хартлі рівна N = 2i= 24= 16.
Приклад 3. Скільки секунд буде потрібно модему, що передає повідомлення із швидкістю 28 800 біт/с для передачі 100 сторінок тексту в 30 рядків по 60 символів кожна в кодуванні ASCII.
Рішення. У кодуванні ASCII кожен символ займає 8 біт або 1 байт.
Тоді обсяг тексту дорівнює 100 ∙ 30 ∙ 60 ∙ 8 = 1 440 000 бітів.
Для його передачі по модему знадобиться 1 440 000/28 800 = 50 секунд
1 біт — мінімальна неділима одиниця інформації.
8 біт складають 1 байт, таким чином1 байт = 8 біт
1 Кбайт = 1024 = 210байт
1 Мбайт = 1024 = 210Кбайт = 220байт
1 Гбайт = 1024 = 210Мбайт = 220Кбайт = 230байт
1 Пбайт = 1024 = 210Гбайт = 220Мбайт = 230Кбайт = 240байт
Приклад 1. Перевести 376832 біт в Кбайт.
Рішення 376832 біт = 376832 / 8 = 47104 байт = 47104 / 1024 = 46 Кбайт
Приклад 2. Перевести 37 Кбайт 515 Байт 3 біт у біт.
Рішення 37 Кбайт 515 байт 3 біт = 37 ∙ 1024 + 515 байт 3 біт = 38403 байт 3 біт = 38403 ∙ 8 +3 = 307227 біт.
Двійкова система числення є комбінацією двійкової системи кодування і показниковою ваговою функцією з основою рівною 2. Слід зазначити, що число може бути записано в двійковому коді, а система числення при цьому може бути не двійковою, а з іншою основою. Приклад: двійково-десяткове кодування, в якому десяткові цифри записуються в двійковому вигляді, а система числення — десяткова.
- Повний набір з 8 триграм і 64 гексаграмм, аналог 3-бітних і 6-бітних чисел, був відомий в древньому Китаї в класичних текстах книги Змін. Порядок гексаграмм в книзі Змін, розташованих у відповідності зі значеннями відповідних двійкових цифр (від 0 до 63), і метод їх отримання був розроблений китайським вченим і філософом Шао Юн в XI столітті. Однак відсутні докази, які свідчать про те, що Шао Юн розумів правила двійкової арифметики, розташовуючи двосимвольні кортежі в лексикографічному порядку.
- Індійський математик Пінгала (200 до н. е.) розробив математичні основи для опису поезії з використанням першого відомого застосування двійкової системи числення.[1][2]
- Прообразом баз даних, що широко використовувалися в Центральних Андах (Перу, Болівія) у державних та громадських цілях в I—II тисячолітті н. е., була вузликова писемність Інків — кіпу, що складалася як з числових записів десяткової системи[3] так і не числових записів у двійковій системі кодування[4].
- Набори, що є комбінаціями двійкових цифр, використовувалися африканцями в традиційних ворожіннях (таких як Іфа) поряд зі середньовічною геомантією.
- В 1854 англійський математик Джордж Буль опублікував знакову роботу, що описує алгебраїчні системи стосовно логіки, яка в даний час відома як булева алгебра або алгебра логіки. Його логічному численню судилося зіграти важливу роль у розробці сучасних цифрових електронних схем.
- В 1937 Клод Шеннон представив до захисту кандидатську дисертацію Символічний аналіз релейних і перемикальних схем в MIT, в якій булеву алгебру і двійкову арифметику було застосовно до електронних реле і перемикачів. На дисертації Шеннона по суті заснована вся сучасна цифрова техніка.
- ↑ Sanchez, Julio; Canton, Maria P. (2007), Microcontroller programming: the microchip PIC, Boca Raton, Florida: CRC Press, с. 37, ISBN 0-8493-7189-9
- ↑ W. S. Anglin and J. Lambek, The Heritage of Thales, Springer, 1995, ISBN 0-387-94544-X
- ↑ Ordish George, Hyams, Edward. The last of the Incas: the rise and fall of an American empire. — Нью-Йорк : Барнс & Noble, 1996. — С. 80.
- ↑ Experts 'decipher' Inca strings. Архів оригіналу за 29 липня 2015. Процитовано 24 червня 2015.
- Система числення двійкова // Універсальний словник-енциклопедія. — 4-те вид. — К. : Тека, 2006.
- Двійкова система числення — найпростіше пояснення на YouTube (рос.) — візуальне пояснення роботи позиційних систем числення взагалі і двійковій системі зокрема
- Бінарний
- Система числення
- Позиційні системи числення
- Вісімкова система числення
- Десяткова система числення
- Шістнадцяткова система числення
- Бінарний код
Це незавершена стаття з математики. Ви можете допомогти проєкту, виправивши або дописавши її. |