Усі статті

Системи числення: навіщо потрібні двійкова, вісімкова й шістнадцяткова

Люди звикли до десяткової системи числення, бо в нас десять пальців, але комп'ютери "мислять" у двійковій системі, а програмісти часто працюють із шістнадцятковою й вісімковою — і кожна з них має практичну причину для існування.

Двійкова система і апаратний рівень

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

Шістнадцяткова система як зручне скорочення

Один шістнадцятковий розряд точно відповідає чотирьом бітам, тож два шістнадцяткові символи компактно представляють один байт (наприклад, #FF замість 11111111). Саме тому кольори в CSS, MAC-адреси й хеші записують у шістнадцятковому форматі — це компроміс між компактністю й простотою переведення в двійкову систему.

Де ще трапляється вісімкова система

Вісімкова система історично використовувалась через зручність переведення в двійкову (три біти на розряд), і досі трапляється, наприклад, у Unix-правах доступу до файлів (chmod 755), де кожна цифра компактно кодує три прапорці дозволів.

Навіщо це потрібно

  • Перевести колір із шістнадцяткового формату CSS у десяткові значення RGB.
  • Зрозуміти двійкове представлення числа при роботі з побітовими операціями.
  • Розшифрувати вісімкові права доступу до файлів у Unix-системах.

Чому Base64 — це не система числення

Base64 часто плутають із конвертацією систем числення через схожу назву, але це принципово інша річ — кодування довільних бінарних даних (наприклад, зображення чи файлу) у текстовий рядок із 64 символів, а не спосіб запису одного числа. Число 255 у шістнадцятковій системі — це FF, а те саме число, закодоване в Base64 як один байт, виглядає зовсім інакше й має інше призначення — передачу бінарних даних текстовими каналами.

Спробувати інструмент