Калькулятор систем числення

Перетворення цілого числа у двійкову, вісімкову, десяткову та шістнадцяткову системи.

Введіть десяткове ціле число, яке потрібно конвертувати.

Двійкове значення

11111111

Вісімкова377
Десяткова255
ШістнадцятковаFF

Як користуватися цим калькулятором систем числення

  1. Введіть ціле число

    Введіть невід’ємне ціле число в поле «Ціле число» (наприклад, 255 або 4096).

  2. Переглянути двійкове значення

    Результат у двійковій системі показує представлення за основою 2.

  3. Перевірте вісімкову та шістнадцяткову системи

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

  4. Перевірте десяткове значення

    Десятковий результат підтверджує початкове значення для перехресної перевірки.

Методологія

Як працює цей калькулятор систем числення

Цей калькулятор систем числення приймає ціле число в десятковій системі (основа 10) і представляє його у двійковій (основа 2), вісімковій (основа 8) та шістнадцятковій (основа 16) — чотирьох системах числення, які найчастіше використовуються в обчислювальній техніці. Кожна позиційна система числення працює однаково: кожна позиція цифри представляє послідовний степінь основи, а значення числа є сумою кожної цифри, помноженої на її позиційну вагу. Перетворення між системами числення є фундаментальною операцією в низькорівневому програмуванні, проектуванні цифрової логіки, мережевій інженерії (адреси MAC та IPv6), кодах кольорів у CSS, масках прав доступу до файлів у Unix та перевірці адрес пам'яті під час налагодження.

Формула
Послідовне ділення: розділіть N на цільову основу R, запишіть остачу, повторюйте з часткою, доки вона не досягне 0, потім прочитайте остачі у зворотному порядку
N Вхідне ціле число в десятковій системі (основа 10)
R Цільова основа (2 для двійкової, 8 для вісімкової, 16 для шістнадцяткової)
частка Результат цілочисельного ділення N ÷ R на кожному кроці; стає новим N для наступної ітерації
остача N mod R на кожному кроці — стає однією цифрою результату перетворення (0–1 для двійкової, 0–7 для вісімкової, 0–F для шістнадцяткової системи)
результат Остачі, прочитані від останньої до першої, утворюють число в цільовій системі числення
Приклад

Перетворення десяткового числа 255 у двійкову, вісімкову та шістнадцяткову системи. Для двійкової (R = 2): 255 ÷ 2 = 127 остача 1, 127 ÷ 2 = 63 О 1, 63 ÷ 2 = 31 О 1, 31 ÷ 2 = 15 О 1, 15 ÷ 2 = 7 О 1, 7 ÷ 2 = 3 О 1, 3 ÷ 2 = 1 О 1, 1 ÷ 2 = 0 О 1. Читаючи остачі знизу вгору: 11111111. Для вісімкової (R = 8): 255 ÷ 8 = 31 О 7, 31 ÷ 8 = 3 О 7, 3 ÷ 8 = 0 О 3 → 377. Для шістнадцяткової (R = 16): 255 ÷ 16 = 15 О 15 (F), 15 ÷ 16 = 0 О 15 (F) → FF.

Десяткове 4096 → двійкове 1000000000000, вісімкове 10000, шістнадцяткове 1000. Корисно для розуміння того, що 4 KiB = 4096 байтів.

Десяткове 15 → двійкове 1111, вісімкове 17, шістнадцяткове F. Кожна шістнадцяткова цифра відповідає рівно чотирьом бітам; F = 1111.

Припущення
  • Вхідне значення має бути невід'ємним цілим числом (нуль або додатне ціле число). Дробові значення та від'ємні числа потребують розширених алгоритмів (наприклад, доповняльний код для знакових двійкових чисел), які виходять за межі цього інструменту.
  • Шістнадцяткові цифри понад 9 позначаються великими літерами A–F згідно з конвенціями більшості мов програмування, RFC та документації до обладнання.
  • Провідні нулі в результаті опускаються. Для представлень фіксованої ширини (наприклад, 8-бітних або 32-бітних двійкових чисел) додайте нулі вручну до потрібної довжини.
  • Калькулятор приймає лише невід'ємні цілі числа. Значення понад 2^53 − 1 (Number.MAX_SAFE_INTEGER у JavaScript) не приймаються, щоб відображувані цифри залишалися точними.
Примітки
  • Кожна шістнадцяткова цифра відповідає рівно чотирьом двійковим цифрам (бітам), а кожна вісімкова цифра — рівно трьом бітам. Цей зв'язок дозволяє швидко перетворювати числа між шістнадцятковою, вісімковою та двійковою системами в умі, якщо запам'ятати 16 комбінацій ніблів.
  • Поширені значення, які варто запам'ятати: 0xFF = 255, 0x100 = 256, 0xFFFF = 65535, 0xFFFFFFFF = 4 294 967 295 (максимальне 32-бітне ціле число без знака).
  • Права доступу до файлів Unix використовують вісімкову систему: 755 означає rwxr-xr-x (власник: читання/запис/виконання, група та інші: читання/виконання). Кожна вісімкова цифра кодує три біти прав доступу.
  • Шістнадцяткові коди кольорів CSS — це три послідовні шістнадцяткові значення байтів, що представляють канали червоного, зеленого та синього кольорів — наприклад, #FF8800 означає 255 червоного, 136 зеленого, 0 синього.
Джерела
  1. Теорія позиційних систем числення — Кнут Д. Е., Мистецтво програмування, Том 2: Напівчисельні алгоритми, Розділ 4.1
  2. IEEE 754-2019 — Стандарт арифметики з рухомою комою (контекст представлення цілих чисел)
  3. RFC 4291 — Архітектура адресації IP версії 6 (шістнадцяткова нотація для IPv6)

Розуміння систем числення в обчислювальній техніці

Кожна позиційна система числення використовує основу (radix) і присвоює кожній цифрі вагу залежно від її позиції. У десятковій системі (основа 10) крайня права цифра — це одиниці, наступна — десятки, потім сотні. Двійкова система (основа 2) використовує лише 0 і 1, що безпосередньо відповідає станам транзисторів «увімкнено/вимкнено». Вісімкова система (основа 8) групує по три біти на цифру, а шістнадцяткова (основа 16) — по чотири біти на цифру, використовуючи A–F для значень 10–15. Перетворення між основами використовує послідовне ділення: поділіть число на цільову основу, запишіть остачу, повторюйте з часткою до нуля, а потім прочитайте остачі у зворотному порядку. Цей алгоритм лежить в основі будь-якого перетворення систем числення в програмуванні.

Практичні випадки використання перетворення систем числення для розробників

Розробники використовують перетворення систем числення під час аналізу дампів пам'яті, налагодження побітових операцій, інтерпретації прав доступу до файлів та роботи з кодами кольорів. Права доступу до файлів Unix (наприклад, 755) є вісімковими: кожна цифра кодує читання/запис/виконання для власника, групи та інших. Шістнадцяткові кольори CSS, як-от #FF8800, — це три послідовні байти в шістнадцятковій системі. Адреси IPv6 записуються в шістнадцятковому форматі. Бітові маски та прапорці часто виражаються в шістнадцятковій системі для зручності читання (0xFF для маски байта, 0xFFFF для 16 біт). Під час налагодження низькорівневого коду або мережевих протоколів перетворення між десятковою, шістнадцятковою та двійковою системами швидко виявляє структуру бітів.

Часті запитання про калькулятор систем числення

Чому в обчислювальній техніці використовуються двійкова, вісімкова та шістнадцяткова системи?

Двійкова система безпосередньо відповідає станам «увімкнено/вимкнено» транзисторів, що робить її рідною мовою апаратного забезпечення. Вісімкова та шістнадцяткова системи — це компактні скорочення для двійкової: одна шістнадцяткова цифра представляє рівно чотири біти, а одна вісімкова — три біти. Тому програмісти використовують їх для стислого запису адрес, бітових масок і кодів кольорів замість довгих двійкових рядків.

Як виконати перетворення у зворотному напрямку (наприклад, із шістнадцяткової в десяткову)?

Помножте кожну цифру на основу системи числення у відповідному степені та додайте результати. Наприклад, шістнадцяткове 1A3 = 1×16² + 10×16¹ + 3×16⁰ = 256 + 160 + 3 = 419 у десятковій системі.

Що відбувається з дуже великими числами?

Калькулятор приймає значення лише до межі безпечного цілого числа JavaScript: 2^53 − 1 (9 007 199 254 740 991). Більші числа відхиляються, оскільки в браузері вони можуть втратити молодші розряди.

Чи можу я конвертувати від’ємні числа або дроби?

Цей інструмент працює з невід’ємними цілими числами. Від’ємні цілі числа в обчисленнях зазвичай представляються за допомогою доповняльного коду у фіксованій розрядності, а дробові значення використовують кодування з рухомою комою IEEE 754 — обидва варіанти потребують додаткових параметрів, які цей калькулятор не збирає.

Чому префікс 0x з’являється в коді, але не в результаті?

Префікс 0x (а також 0b для двійкової та 0o для вісімкової систем) — це специфічний для мов програмування синтаксис літералів, який вказує компілятору або інтерпретатору, яку систему числення очікувати. Калькулятор виводить чистий рядок цифр без префікса, щоб його можна було використовувати в будь-якому контексті.

Автор Ян Кршенек Засновник та провідний розробник
Перевірено Огляд методології DigitSum Перевірка формул та QA
Останнє оновлення 10 бер. 2026 р.

Використовуйте це як оцінку та перевіряйте важливі рішення з кваліфікованим фахівцем.

Введені дані залишаються в браузері, якщо майбутні функції не повідомлять про інше.