Skip to main content
🟢 Beginner

Двійковий калькулятор

Виконуйте бінарне додавання, віднімання, множення та ділення. Конвертуйте між двійковою та десятковою системами. Безкоштовний математичний калькулятор.

Система двійкових чисел: як комп'ютери рахують

Система двійкових чисел (базовий 2) використовує лише дві цифри — 0 і 1 — називаються бітом (бінарним цифрою). Усі комп'ютери, смартфони та цифрові пристрої внутрішньо зберігають та обробляють усі дані у вигляді двійкових, оскільки електричні кола можуть надійно представляти дві різні станів: високий напругу (1) та низьку напругу (0).

Кожна позиція у двійковому числі представляє потужність 2, зростаючу з правого боку:

Позиція2⁷2⁶2⁵2⁴2⁰
Значення1286432168421

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

Наприклад: 10110101₂ = 1×128 + 0×64 + 1×32 + 1×16 + 0×8 + 1×4 + 0×2 + 1×1 = 128 + 32 + 16 + 4 + 1 = 181

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

Наприклад: Переведіть 181 у двійковий:

Читайте залишки знизу вгору: 10110101₂

Двійкова арифметика: додавання, віднімання та множення

Двійкова арифметика дотримується тих же правил, що й десяткова, але переноси відбуваються при 2 замість 10.

Правила двійкового додавання: 0+0=0, 0+1=1, 1+0=1, 1+1=10 (перенос 1), 1+1+1=11 (перенос 1)

Наприклад: 1011₂ + 1101₂ (11 + 13 = 24)

  1011
+ 1101
------
 11000

Робота зліва направо: 1+1=10 (запишіть 0, перенесіть 1); 1+0+1=10 (запишіть 0, перенесіть 1); 0+1+1=10 (запишіть 0, перенесіть 1); 1+1+1=11 (запишіть 1, перенесіть 1); кінцевий перенос записує 1. Результат: 11000₂ = 24 ✓

Дві комплементи (двійкове віднімання): Комп'ютери обробляють від'ємні числа та віднімання за допомогою двійкової представлення комплемента. Для знаходження двійкового комплемента числа: переверніть усі біти, потім додайте 1.

Наприклад: -13 у 8-бітному двійковому комплементі: +13 = 00001101₂ → переверніть усі біти → 11110010₂ → додайте 1 → 11110011₂

Це дозволяє виконувати віднімання як додавання: 20 - 13 = 20 + (-13).

Двійкове множення є елегантним: кожен частковий продукт або 0 (множення на 0) або саме число (множення на 1), зміщене вліво. Наприклад: 1011₂ × 101₂ (11 × 5 = 55):

    1011
  ×  101
  -----
    1011    (1011 × 1)
   0000     (1011 × 0, зміщено)
  1011      (1011 × 1, зміщено двічі)
  -------
  110111₂ = 55 ✓

Двійкові дані у комп'ютерах: біти, байти та розміри даних

Зрозуміння двійкових одиниць є необхідним для будь-якої роботи з комп'ютерами, зберіганням або швидкостями мережі:

ОдиницяРозмірМаксимальне значення (не від'ємне)Звичайне використання
Біт1 бінарна цифра1Булеве прапороцвіття, окрема бінарна величина
Нібель4 біта15 (гекс: F)Одна гексадециальна цифра
Байт8 біта255Одна символ (ASCII), канал кольору
Слово16 біта65 535Застарілий 16-бітові системи, Unicode базові
Двійне Слово (DWORD)32 біта4 294 967 29532-бітові цілі, адреси IPv4
Четверте Слово (QWORD)64 біта18 446 744 073 709 551 615Сучасні цілі, вказівники, часові метки

Кольорові значення: Веб-кари використовують 24-бітовий RGB (8 біта на канал). #FF5733 = R:255, G:87, B:51. Кожен 8-бітовий канал може представляти 256 відтінків (0–255). Всього можливих кольорів: 256³ = 16 777 216 (приблизно 16,7 мільйона).

Правила доступу до файлів в Unix/Linux: rwxr-xr-- = 111 101 100 у біні = 7, 5, 4 у окталі = chmod 754. Кожна група з трьох біта представляє можливість читання (r=4), запису (w=2) та виконання (x=1) для власника, групи та інших.

Бітові операції та їх застосування

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

ОпераціяСимволПоведінкаПриклад
І&1 якщо обидва біти є 11010 & 1100 = 1000
ЛЮБИЙ|1 якщо хоча б один біт є 11010 | 1100 = 1110
ХОР^1 якщо біти відрізняються1010 ^ 1100 = 0110
НІ~Перевертання всіх бітів~1010 = 0101
Лівий зміщення<<Зміщення бітів вліво (×2 кожне зміщення)1011 << 1 = 10110 (×2)
Праве зміщення>>Зміщення бітів вправо (÷2 кожне зміщення)1011 >> 1 = 0101 (÷2)

Практичні застосування:

Сравнення системи чисел: Бінарна, Октальна, Десяткова, Гексадеційна

Інформатика використовує чотири системи чисел, кожна з яких підходить для різних контекстів:

СистемаБазаЦифриЗвичайне використання
Бінарна (база-2)20, 1Операції процесора, зберігання даних, логіка
Октальна (база-8)80–7Права Unix на файли, старі системи
Десяткова (база-10)100–9Читабельні числа для людини
Гексадеційна (база-16)160–9, A–FАдреси пам'яті, кольорові коди, машинний код

Швидке перетворення: бінарна ↔ гексадеційна (4 бінарних цифри = 1 гексадеційна цифра):

БінарнаГексадеційнаДесятковаБінарнаГексадеційнаДесяткова
000000100088
000111100199
0010221010A10
0011331011B11
0100441100C12
0101551101D13
0110661110E14
0111771111F15

Цей 4-бітовий групування робить гексадеційну дуже корисною як компактну нотацію для бінарних даних: значення 32-бітової змінної 11001010 00111111 10110101 00001100 набагато легше записувати як CA3FB50C.

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

Зрозуміння бінарної системи необхідне для мережевого інженера, оскільки адреси IPv4 є фундаментально 32-бітними бінарними числами, а підсіткування — процес, який ґрунтується цілком на бінарних операціях.

Адрес IPv4 типу 192.168.1.100 є читабельною нотацією для 32-бітного бінарного значення:

11000000.10101000.00000001.01100100

Маска підсітки визначає, який відділ адреси ідентифікує мережу, а який ідентифікує хоста. Маска підсітки 255.255.255.0 у бінарному вигляді є:

11111111.11111111.11111111.00000000

Бітовий ІВАН адреси IP та маски підсітки дає мережеву адресу:

КомпонентДесятковаБінарна
Адреса IP192.168.1.10011000000.10101000.00000001.01100100
Маска підсітки255.255.255.011111111.11111111.11111111.00000000
Мережа (ІВАН)192.168.1.011000000.10101000.00000001.00000000

Нотація CIDR (наприклад, /24) вказує, скільки лідуючих 1-бітів є в масці підсітки. Маска /24 має 24 одиниць, що слідують за 8 нулями, що дозволяє використовувати 2⁸ − 2 = 254 адреси хоста на підсітці. Маска /16 дозволяє використовувати 65 534 адреси хоста. Мережеві інженери використовують бінарну математику щодня для планування підсіток, розрахунків адрес розсилання та виявлення помилок маршрутизації.

{ “@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-15” }

Бінарні операції в криптографії та безпеці

Сучасні алгоритми шифрування працюють цілком на рівні бінарних даних, змінюючи окремі біти за допомогою поєднань XOR, зміщення біта та заміщення операцій. Знання бінарних даних є воротком до розуміння роботи цифрової безпеки.

XOR-шифрування (основою сучасних шифрів): XOR має особливість — застосування його двічі з тим же ключем повертає початкове значення: A ⊕ K ⊕ K = A. Це робить XOR основою стрімних шифрів та одноразових шифрів.

Наприклад, шифрування байта 01001101 (буква 'M' за ASCII) за ключем 10110010:

Розміри ключів у сучасному шифруванні: AES-128 використовує 128-бітовий ключ, що означає, що існує 2¹²⁸ ≈ 3,4 × 10³⁸ можливих ключів — більше за кількість атомів спостережуваного Всесвіту. AES-256 використовує 256-бітові ключі з 2²⁵⁶ можливостями. навіть найшвидші суперкомп'ютери не можуть здійснити брут-форс цих просторів ключів. Кожне додаткове біте подвоює пошуковий простір, тому розмір ключа має значення експоненційно в криптографії.

Хеш-функції, такі як SHA-256, видають 256-бітовий (32-байтовий) бінарний вихід з будь-якого вхідного даних. навіть зміна одного біта вхідних даних призводить до повністю різних хешів — властивість, яку називають «авальанс-ефектом», яка робить хеші корисними для перевірки цілісності даних, зберігання паролів та створення технології блокчейна.

Бінарні дані та квантові обчислення: Хоча класичні комп'ютери використовують бінарні біти (0 або 1), квантові комп'ютери використовують квібіти, які можуть існувати в суперпозиції обох станів одночасно. Класичний 256-бітовий ключ має 2²⁵⁶ можливих значень, які необхідно перевірити послідовно; квантовий комп'ютер, що працює за алгоритмом Гровера, міг би здійснити пошук цього простору за √(2²⁵⁶) = 2¹²⁸ операцій. Це чому розробляється постквантова криптографія — для створення бінарних шифрувальних схем, які залишаються безпечними навіть проти квантових супротивників.

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

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

Електронні кола найбільш надійні при використанні лише двох різних станів: включено (високий напруга ≈ 1) і вимкнено (низька напруга ≈ 0). Представлення 10 різних станів для десяткової системи вимагало б набагато більш точного контролю напруги і було б набагато більш схильне до електричного шуму. Бінарна система простота дозволяє мільярдам транзисторів працювати надійно зі швидкістю ГГц зі мільярдами операцій на секунду.

Які найбільші числа можуть зберігати байти?

Байт (8 біта) може представляти 2⁸ = 256 різних значень. Для неоголошених цілих чисел: 0 до 255. Для підписаних цілих чисел (дві комплементи): -128 до 127. Максимальне неоголошене значення байта у бінарній формі становить 11111111₂ = 255; у формі шістнадцятирічної системи воно становить FF.

Як перетворити негативне число на бінарну систему?

Використовуйте дві комплементи: (1) Перетворіть позитивну версію на бінарну, (2) Переверніть всі біти (0→1, 1→0), (3) Додайте 1. Приклад — -13 у 8-бітній системі: +13 = 00001101₂, переверніть біти = 11110010₂, додайте 1 = 11110011₂. Так усі сучасні комп'ютери зберігають негативні цілі числа.

Які різниці між бінарною і шістнадцятирічною системами?

Обидві є позиційними числовими системами, використовуваними в обчисленнях. Бінарна (основана на 2) використовує лише 0 і 1 — рідну мову комп'ютерів. Шістнадцятирічна (основана на 16) використовує 0–9 і A–F як компактну нотацію для бінарної системи — кожні 4 бінарні цифри відповідають точно 1 шістнадцятирічній цифрі. Шістнадцятирічна використовується для адрес пам'яті, кольорових кодів (#RRGGBB) і машинного коду тому, що вона більш компактна і легка для читання ніж бінарна система.

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

Бітові операції (AND, OR, XOR, NOT, зміщення) змінюють окремі біти в цілих числах. Поширені застосування: флаги і права доступу (Unix chmod), перевірка парності (n & 1), швидка множення/ділення на степені 2 (зміщення біта), алгоритми шифрування, функції хешування, перевірка помилок CRC, мережеві маски підсітки, розробка ігор (компактне зберігання стану в одному цілі числі).

Що таке бінарна система з плаваючою точкою і чому 0,1 + 0,2 ≠ 0,3 у програмуванні?

Більшість сучасних комп'ютерів використовують бінарну систему з плаваючою точкою згідно IEEE 754, яка представляє десяткові дробі у бінарній формі. Так само як 1/3 = 0,3333... не може бути представлений точно у десятковій системі, 1/10 не може бути представлений точно у бінарній системі (це нескінченна бінарна дробова частина). Це викликає дуже маленькі помилки округлення: у більшості мов програмування 0,1 + 0,2 = 0,30000000000000004. Використовуйте цілісну арифметику (робіть розрахунки в центи, а не в доларах) або бібліотеки десяткової системи для точних фінансових розрахунків.

Як бінарна система використовується у зберіганні даних і розмірах файлів?

Зберігання вимірюється у байтах (8 біта), кілобайтах (1 024 байти), мегабайтах (1 024 кілобайтів), гігабайтах (1 024 мегабайтів) тощо. Зверніть увагу: виробники жорстких дисків використовують префікси SI (1 кілобайт = 1 000 байтів), тоді як операційні системи використовують бінарні префікси (1 Кіб = 1 024 байти), що викликає помилковий дисбаланс при купівлі зберігання. 1-терабайтовий диск показує ~931 Гіб у Windows тому що 1 000 000 000 000 ÷ 1 073 741 824 ≈ 931.

Що таке бінарна система з кодуванням десяткових цифр (BCD)?

BCD кодує кожну десяткову цифру як групу з 4 біта: 0=0000, 1=0001, ..., 9=1001. Така десяткова система 93 у BCD є 1001 0011. BCD використовується у фінансових системах (виключаючи помилки округлення у десятковій системі), цифрових годинниках і дисплеях (7-сегментні дисплеї розшифровують BCD безпосередньо) і старих системах основних кадрів. Вона менше ефективна ніж чиста бінарна система але видаляє помилки перетворення десяткової системи на бінарну у критичних застосуваннях.