Skip to main content
🟢 Beginner

Конвертер двійкових чисел у десяткові

Конвертуйте двійкові числа у десяткові та десяткові у двійкові миттєво. Підтримує до 64-бітних чисел. Безкоштовний конвертер з миттєвими точними результатами.

Як працює конвертація з бінарної у десятичну

Бінарна (основана на 2) використовує лише цифри 0 і 1. Кожна позиція представляє потужність 2, збільшуючись зліва направо. Для конвертації бінарної у десятичну множіть кожну бінарну цифру на її місце значення та підсумовуйте результати.

Наприклад: конвертувати 1011₂ у десятичну

Для десятичної у бінарну знову й знову ділим на 2 та записуйте залишки знизу вгору. 11 ÷ 2 = 5 R1, 5 ÷ 2 = 2 R1, 2 ÷ 2 = 1 R0, 1 ÷ 2 = 0 R1 → читати залишки вгору: 1011.

Ця позиційна системи працює так само, як і десятична — тільки з іншою основою. У десятичній (основі 10) число 347 означає 3 × 10² + 4 × 10¹ + 7 × 10⁰ = 300 + 40 + 7. Бінарна використовує той же принцип, тільки з потужностями 2 замість потужностей 10.

Справочник бінарних місць

Байт із 8 бітом є основною одиницею зберігання комп'ютера. Тут є повний таблиця місць значення для 8-бітових чисел (0–255):

Позиція бітаПотужність 2Десятична вартість
Біт 7 (MSB)2⁷128
Біт 62⁶64
Біт 52⁵32
Біт 42⁴16
Біт 38
Біт 24
Біт 12
Біт 0 (LSB)2⁰1

Байт може представляти будь-яке значення від 0 (00000000₂) до 255 (11111111₂). Два байти (16 бітів) займають 0–65 535. Чотири байти (32 біта) займають 0–4 294 967 295.

Розширений таблиця потужностей 2

Для програмістів та спеціалістів з комп'ютерних наук знання потужностей 2 до 2⁶⁴ необхідне для розуміння адресування пам'яті, типів даних та обмежень системи:

ПотужністьДесятична вартістьЗначення
2⁰1Найменша одиниця (1 біта)
2⁸256Діапазон 1 байта (0–255)
2¹⁰1 0241 Кібібайт (кібібайт)
2¹⁶65 53616-бітний діапазон; обмеження TCP-порта
2²⁰1 048 5761 Мібібайт (мебібайт)
2²⁴16 777 21624-бітовий колір (16,7 мільйонів кольорів)
2³⁰1 073 741 8241 Гібібайт (гібібайт)
2³²4 294 967 29632-бітний простір адресів; максимальна адреса IPv4
2⁴⁰1 099 511 627 7761 Тібібайт (тібібайт)
2⁶⁴18 446 744 073 709 551 61664-бітний простір адресів; сучасні процесори

Зверніть увагу на різницю між бінарними префіксами (Кібібайт, Мібібайт, Гібібайт — потужності 2) та префіксами SI (КБ, МБ, ГБ — потужності 10). 1 ГБ = 1 000 000 000 байт; 1 Гібібайт = 1 073 741 824 байти. Ця ~7% різниця пояснює чому 500 ГБ жорсткого диска виглядає як ~465 Гібібайт у своєму ОС (яке зазвичай використовує бінарні одиниці внутрішньо).

Звичайні бінарні значення у комп'ютерній техніці

Ці бінарні значення часто зустрічаються у програмуванні, мережевій роботі та системній адміністрації:

БінарнийДесятичнаГексадециальнийОкталКонтекст
0000000000x000o0Нульовий байт, чорний канал кольору
00001010100x0A0o12Символ перенесення рядка (LF) — Unix newline
00001101130x0D0o17Символ повернення каретки (CR) — частина newline Windows
00100000320x200o40Символ пробілу (ASCII)
01000001650x410o101ASCII 'A'
01100001970x610o141ASCII 'a' (різниця від 'A' у біті 5)
011111111270x7F0o177Локальний IP (останній октет); символ DEL
100000001280x800o200Початок розширеної ASCII / біта знака
110000001920xC00o300Префікс мережі класу C (192.x.x.x)
111111112550xFF0o377Радіоізотоп; максимальний байт; білий у RGB

Бінарний, гексадециальний та октальний порівняння

Програмісти використовують різні системи чисел залежно від контексту. Тут показано, як одне й те саме значення виглядає у кожній системі:

ДесятичнаБінарнийГексадециальнийОкталКонтекст
000000x00o0Нульовий; нульовий
701110x70o7Unix-пермісси (rwx)
1010100xA0o12
1511110xF0o17Максимальний 4-бітовий (ніббл)
16100000x100o20
127011111110x7F0o177Максимальний підписаний 8-бітовий
255111111110xFF0o377Максимальний безпідписаний 8-бітовий
5111111111110x1FF0o777Unix-пермісси rwxrwxrwx
102311111111110x3FF0o1777Максимальний 10-бітовий (ADC)

Гексадециальний є найбільш поширеною скороченою формою бінарного, оскільки кожен гексадециальний цифра відповідає точно 4 бінім цифрам — роблячи конвертацію дуже простою. Октальний відповідає 3 бінім цифрам на цифру і використовується головним чином для Unix-перміссій (наприклад, chmod 755 = 111 101 101 у бінім = rwxr-xr-x).

Підписані бінарні числа (Дві комплементи)

Комп'ютери представляють негативні числа за допомогою двох комплементів — стандарту, визначеного IEEE і використовуваного майже всіма сучасними процесорами. У восьмибітній системі двійкових комплементів:

БінарнийНепідписаний десятичнийПідписаний (Дві комплементи)
0000000000
000000011+1
01111111127+127 (максимально позитивний)
10000000128−128 (мінімально негативний)
10000001129−127
11111110254−2
11111111255−1

Для від'ємування числа за допомогою двійкових комплементів: інвертуйте всі біти і додайте 1. Наприклад, +5 = 00000101 → інвертувати → 11111010 → додати 1 → 11111011 = −5.

Діапазони для звичайних цілочисельних типів:

ТипБітиНепідписаний діапазонПідписаний діапазон
байт / uint880 до 255−128 до +127
коротке ціле / int16160 до 65 535−32 768 до +32 767
ціле / int32320 до 4 294 967 295−2 147 483 648 до +2 147 483 647
довге ціле / int64640 до 18,4 × 10¹⁸−9,2 × 10¹⁸ до +9,2 × 10¹⁸

Бінарні дані в сучасній технології

Бінарні дані є основою всіх сучасних обчислень, оскільки транзистори мають дві стабільні станів (ввімкнено/вимкнено, 1/0). Ключові застосування:

Зрозуміння бінарних даних допомагає в програмуванні (бітові операції, флаги), мережевій роботі (підрахунок IP/підсітки) і роботі з низькорівневим обладнанням.

Бінарна арифметика: додавання і віднімання

Бінарна арифметика дотримується тих же правил, що і десяткова, але тільки з двома цифрами. Таблиця додавання виглядає так:

ABСумаПеренесення
0000
0110
1010
1101

Наприклад: 1011 + 0110

Робота зліва направо: 1+0=1, 1+1=10 (записати 0 перенесення 1), 0+1+1=10 (записати 0 перенесення 1), 1+0+1=10 (записати 0 перенесення 1). Результат: 10001 (десятковий: 11+6=17 ✓)

Віднімання в апаратному забезпеченні виконується шляхом додавання двійкового комплемента віднімання. Для розрахунку A−B процесор виконує A + (−B), де −B — двійковий комплемент віднімання B. Це дозволяє використовувати єдиний блок додавання для обробки як додавання, так і віднімання.

Бітові операції

Мови програмування забезпечують бітові операції, які змінюють окремі біти. Вони є фундаментальними для низькорівневого програмування, інтегрованих систем і оптимізації виконання:

ОпераціяСимволПриклад (8-бітовий)РезультатЗастосування
І&10110101 & 1111000010110000Фільтрування біта, виділення полів
ЛЮКС|10110101 | 0000111110111111Встановлення біта, поєднання флагів
ХОР^10110101 ^ 1111111101001010Переключення біта, проста шифрування
НІ~~1011010101001010Інверсія біта
Сдвиг вліво<<00000101 << 200010100Умноження на 2ⁿ
Сдвиг вправо>>00010100 >> 200000101Ділення на 2ⁿ

Сдвиг біта значно швидше, ніж множення/ділення в багатьох процесорах. x << 1 еквівалентно x × 2, а x >> 1 еквівалентно x ÷ 2 (ціле ділення). Ігрові двигуни і інтегровані системи використовують ці операції для підвищення продуктивності.

Бінарно-десяткова система (БДС)

Бінарно-десяткова система представляє кожний десятковий цифру за допомогою власного 4-бітового бінарного шаблону. Відмінність від чистої бінарної системи полягає в збереженні десяткової структури:

ДесятковийЧистий бінарнийБДС
000000000
501010101
910011001
1010100001 0000
421010100100 0010
9911000111001 1001
255111111110010 0101 0101

БДС менше ефективний за розміром порівняно з чистою бінарною системою (10 із 16 можливих 4-бітових комбінацій використовуються), але він спрощує десяткове відображення — кожна нібелька відображається прямо в десятковий цифру. БДС використовується в цифрових годинниках, калькуляторах, фінансових системах (де саме десяткове представлення має значення), а також в старих основних базах даних (COBOL, IBM EBCDIC).

{ “@context”: “https://schema.org”, “@type”: “Article”, “headline”: “Бінарні дані”, “image”: “https://example.com/image.jpg", “description”: “Опис бінарних даних”, “author”: { “@type”: “Person”, “name”: “Автор статті” }, “publisher”: { “@type”: “Organization”, “name”: “Назва видання”, “logo”: { “@type”: “ImageObject”, “url”: “https://example.com/logo.jpg" } }, “datePublished”: “2022-01-01”, “dateModified”: “2022-01-01” }

Фloating-Point Binary (IEEE 754)

Десяткові числа з дробовими частинами (як 3,14) зберігаються у бінарному вигляді за допомогою стандарту IEEE 754. 32-бітовий (однаковісний) float складається з трьох частин:

ПолеБітиНавмисність
Знак10 = додатній, 1 = від'ємний
Ексponent8Зв'язаний експонент (зсув = 127)
Мантиса (знаменник)23Дробова частина (прихований лідінг 1)

Наприклад: Десяткове число −6,5 у IEEE 754 однаковісному:

  1. Знак = 1 (від'ємний)
  2. 6,5 у бінарному вигляді = 110,1₂ = 1,101 × 2² (нормалізований)
  3. Ексponent = 2 + 127 (зсув) = 129 = 10000001₂
  4. Мантиса = 10100000000000000000000 (23 біта, прихований лідінг 1 відсутній)
  5. Повна представлення: 1 10000001 10100000000000000000000

Це чому 0,1 + 0,2 ≠ 0,3 у більшості мов програмування — десятична дробова частина 0,1 має нескінченну повторювану представлення у бінарному вигляді (як 1/3 у десятковому вигляді = 0,333…), тому вона повинна бути округлена, що призводить до дуже малих помилок. Для фінансових розрахунків використовуйте бібліотеки арифметики з десятичними дробями (модуль decimal Python, BigDecimal Java).

Кодування символів: Від ASCII до UTF-8

Текст зберігається як бінарні числа, які відображають символи. Розвиток кодування символів відбувався відповідно до світової експансії комп'ютерів:

КодуванняРікБіти на символПідтримувані символиПримітки
ASCII19637 (зберігається в 8)128Латинські літери, цифри, знаки пунктуації
Розширений ASCII (ISO 8859-1)19878256Західні європейські символи (é, ñ, ü)
UTF-819938–32 (змінна)1 112 064Надає сумісність з ASCII; стандарт вебу
UTF-16199616–32 (змінна)1 112 064Використовується в Java, Windows, JavaScript внутрішньо
UTF-32200032 (фіксована)1 112 064Фіксована ширина; витрачає місце для латинського тексту

UTF-8 кодує ASCII-символи в одному байті (ідентичний звичайному ASCII), європейські символи в 2 байти, китайські символи в 3 байти, емоджі в 4 байти. Більше 98% усіх веб-сторінок використовують кодування UTF-8 (за W3Techs, 2024).

Бінарні логічні ґейти

Логічні ґейти є фізичними будівельними блоками всіх цифрових схем. Кожен ґейт виконує просту бінарну операцію над однією або двома вхідними бітом:

ГейтСимволТаблиця істинності (A,B → Вихід)Опис
ІA·B0,0→0; 0,1→0; 1,0→0; 1,1→1Вихід є 1 лише тоді, коли обидва вхідні біта є 1
ЛЮБИЙA+B0,0→0; 0,1→1; 1,0→1; 1,1→1Вихід є 1 тоді, коли хоча б один вхідний біта є 1
НІ¬A0→1; 1→0Інвертує вхідний біта
НІАНД¬(A·B)0,0→1; 0,1→1; 1,0→1; 1,1→0І після НІ — універсальний ґейт
ХОРA⊕B0,0→0; 0,1→1; 1,0→1; 1,1→0Вихід є 1 тоді, коли вхідні біта відрізняються

Гейт НІАНД називається універсальним ґейтом, оскільки будь-яка інша логічна функція може бути побудована виключно з ґейтів НІАНД. Сучасні ЦПУ містять мільярди транзисторів, організованих у ґейти НІАНД і НОР, які потім поєднуються в додавачі, мультиплексори, фліп-флопи та всі інші будівельні блоки процесора. Чип Apple M3 містить близько 25 мільярдів транзисторів — кожен з яких є мікроскопічним бінарним ключем, який може бути або включеним (1) або вимкненим (0).

Гейт ХОР має особливу властивість: він видає 1 тоді, коли два вхідних біта відрізняються. Це робить його основою для бінарної арифметики (сумарний біта півдодаткового підсумовувача), перевірки помилок (парності) та простої шифрування (шифр ХОР).

Історія бінарної системи: від Лейбніца до сучасної комп'ютерної техніки

Бінарна система числення має багату інтелектуальну історію:

РікПерсона/ПодіяВнесок
~300 до н. е.Пінґала (індійський математик)Використовував бінарний подібний спосіб класифікації віршів
1679Готфрід ЛейбніцФормально описав сучасну бінарну арифметику; побачив зв'язки між китайським І Чінґ
1847Джордж БульВипустив "Математичний аналіз логіки" — фундаментальний матеріал Бульової алгебри
1937Клод Шеннон (дипломна робота в МІТ)Показав, що булева алгебра може моделювати електричні схеми переключень
1945Джон фон НейманЗапропонував збережену програмну бінарну архітектуру комп'ютера (архітектура фон Неймана)
1971Intel 4004Перший комерційний мікропроцесор — 2 300 транзисторів, 4-бітова бінарна
2024Сучасні ЦПБілліони транзисторів; 64-бітна бінарна архітектура стандарт

Інсайт Лейбніца, що всі числа можуть бути виражені виключно за допомогою 0 і 1, був чисто математичний — він ніколи не уявляв електронні комп'ютери. Робота Шеннона 1937 року з'єднала булеву (бінарну) логіку з електричними реле, створюючи теоретичну основу для всіх цифрових електронних схем. Її називають "можливо найважливішою дипломною роботою XX століття".

Бінарна система в мережах: адреси IP і маски підмережі

Знання бінарної системи необхідне для мережної адміністрації. Адреси IPv4 і маски підмережі — 32-бітові бінарні числа:

ОписРозгорнута десятичнаБінарний
Адреса IP192.168.1.10011000000.10101000.00000001.01100100
Маска підмережі (/24)255.255.255.011111111.11111111.11111111.00000000
Адреса мережі192.168.1.011000000.10101000.00000001.00000000
Адреса розсилання192.168.1.25511000000.10101000.00000001.11111111

Адреса мережі обчислюється шляхом виконанням операції "І" адреси IP і маски підмережі. Адреса розсилання встановлює всі біти вузла на 1. Кількість використовуваних адрес вузлів = 2^(32−префікс) − 2. Для мережі /24: 2⁸ − 2 = 254 використовувані вузли.

Навичкові розміри підмереж:

CIDRМаска підмережіВузлиЗвичайне використання
/32255.255.255.2551Один вузловий маршрут
/30255.255.255.2522Пунктирна зв'язок
/24255.255.255.0254Стандартна локальна мережа
/16255.255.0.065 534Велика мережа кампусу
/8255.0.0.016 777 214Клас А розподіл

Часті запитання

Як перекласти бінарне 1100 у десяткове?

1100 у бінарному: 1×8 + 1×4 + 0×2 + 0×1 = 8 + 4 = 12. Отже бінарне 1100 = десяткове 12.

Що таке 255 у бінарному?

255 у бінарному — 11111111 — усі вісім біта встановлені на 1. Це максимальне значення однієї байта і з'являється в мережній техніці (маска підмережі 255.255.255.0) і кольорах (повний червоний = 255, 0, 0).

Як перекласти десяткове 100 у бінарне?

Повторювані розділи на 2: 100÷2=50 Р0, 50÷2=25 Р0, 25÷2=12 Р1, 12÷2=6 Р0, 6÷2=3 Р0, 3÷2=1 Р1, 1÷2=0 Р1. Читання залишків вгору: 1100100₂. Перевірка: 64+32+4 = 100. ✓

Що відрізняє бінарне від шістнадцяткового?

Бінарне використовує базу 2 (цифри 0–1); шістнадцяткове використовує базу 16 (цифри 0–9, A–F). Шістнадцяткове — компактна скорочена форма бінарного — кожна шістнадцяткова цифра відповідає точно 4 бінарним бітам. Наприклад, шістнадцяткове FF = бінарне 11111111 = десяткове 255.

Чому комп'ютери використовують бінарне замість десяткової системи?

Електронні схеми природно бінарні: транзистор є або включений (1), або вимкнений (0), а напруга є або високою, або низькою. Десяткова система вимагає 10 різних рівнів напруги, що складно виконувати у пристроях. Бінарна система є нетерпимою до шуму і ідеально підходить для логічних операцій true/false.

Що таке двійковий доповнення?

Двійкове доповнення — стандартний метод представлення підписаних (позитивних і негативних) цілих чисел у бінарному вигляді. Для знаходження двійкового доповнення (негативного) числа: інвертуйте всі біта і додайте 1. У вісімнадцятковій системі, +5 — 00000101, а -5 — 11111011. Ліва біта — біта підпису: 0 = позитивний, 1 = негативний. Цей метод дозволяє використовувати один і той же об'єднаний обчислювальний блок для виконання операцій додавання і віднімання.

Як перекласти бінарне у шістнадцяткове?

Груповіть бінарні цифри у групи по 4 зліва направо, потім перекладіть кожну групу. Приклад: 10110101₂ → 1011 0101 → B5₁₆. Груповані групи: 0000=0, 0001=1, 0010=2, ..., 1001=9, 1010=A, 1011=B, 1100=C, 1101=D, 1110=E, 1111=F.