Конвертер Числових Систем: BIN, HEX, DEC, OCT з від'ємними числами
Світ комп’ютерів працює на нулях та одиницях, але люди мислять десятками. А програмісти? Вони мають розуміти все між цим. Незалежно від того, чи налагоджуєте ви низькорівневий код, встановлюєте кольори в CSS, обчислюєте IP-маски або вирішуєте завдання з інформатики, ви стикаєтеся з необхідністю перетворювати числа між системами.
Звичайні калькулятори у Windows або на мобільних пристроях часто повільні та незграбні. Наш інтелектуальний конвертер числових систем був розроблений розробниками для розробників. Він пропонує миттєву конвертацію в реальному часі, підтримку надвеликих чисел і, як один з небагатьох онлайн-інструментів, правильно обробляє від’ємні числа у двійковому вигляді.
Що вміє цей конвертер числових систем?
При розробці цього віджета ми зосередилися на вирішенні найпоширеніших проблем програмістів:
- Реактивність у реальному часі: Жодної кнопки “Обчислити”. Почніть вводити дані в поле HEX і миттєво побачите, як змінюються BIN та DEC.
- Підтримка від’ємних чисел (Signed Integers): Більшість онлайн-конвертерів дають збій, коли ви вводите
-5. Ми – ні. Завдяки вибору бітової розрядності (8, 16, 32, 64 біти) ми симулюємо точну поведінку процесора за допомогою так званого двійкового доповнення. - Читабельність двійкового коду: Дивитися на
1110101011011110— це дуже важко. Наш інструмент може автоматично форматувати вивід по 4 біти (нібли) у1110 1010 1101 1110, що радикально знижує кількість помилок при переписуванні. - Підтримка BigInt: Потрібно перетворити 64-бітне число або хеш? Стандартний JavaScript закінчується на числі $2^{53}$. Наш двигун може обробляти числа довільної довжини в режимі “Unsigned”.
Посібник з числових систем: Коли яку використовувати?
1. Десяткова система (DEC - Decimal)
- Основа: 10 (цифри 0-9)
- Використання: Повсякденне життя, фінанси, підрахунок циклів у коді.
- Цікавий факт: Комп’ютери її не розуміють, їм доводиться перетворювати її на двійкову.
2. Двійкова система (BIN - Binary)
- Основа: 2 (цифри 0, 1)
- Використання: Машинний код, логічні вентилі, маскування IP-адрес.
- Порада: Кожна цифра представляє один біт. 8 бітів утворюють 1 байт (Byte).
3. Шістнадцяткова система (HEX - Hexadecimal)
- Основа: 16 (цифри 0-9, літери A-F)
- Використання: Компактний запис двійкового коду. Один символ HEX представляє рівно 4 біти (нібл). Два символи (наприклад,
FF) представляють цілий байт. - Приклади:
- Кольори в інтернеті:
#FF5733(Red, Green, Blue). - MAC-адреси:
00:1A:2B:3C:4D:5E. - Дампи пам’яті (Memory dumps).
- Кольори в інтернеті:
4. Вісімкова система (OCT - Octal)
- Основа: 8 (цифри 0-7)
- Використання: Історично старіші комп’ютери, сьогодні особливо Linux-права (chmod).
- Приклад: Команда
chmod 755встановлює права rwx-rx-rx (читання, запис, виконання).
Як правильно працювати з від’ємними числами?
Це найпередовіша функція нашого конвертера. У комп’ютерній пам’яті не існує знаку “мінус”. Щоб комп’ютер зберігав від’ємне число, він найчастіше використовує метод двійкового доповнення (Two’s Complement).
Однак результат перетворення від’ємного числа залежить від того, скільки бітів виділено для змінної. Тому у верхньому меню ви знайдете перемикач Бітова розрядність.
Приклад: Як виглядає число -5?
Спробуйте це самі в нашому конвертері:
-
Встановіть розрядність на 8-bit.
- Введіть у DEC:
-5. - Результат HEX:
FB. - Результат BIN:
1111 1011. - Пояснення: $256 - 5 = 251$ (що є FB).
- Введіть у DEC:
-
Встановіть розрядність на 16-bit.
- Введіть у DEC:
-5. - Результат HEX:
FFFB. - Пояснення: Оскільки у нас більше місця, “одиниці” заповнюють решту простору зліва.
- Введіть у DEC:
-
Встановіть розрядність на Тільки додатні (Unsigned).
- Якщо ви введете
-5, поле стане червоним. Цей режим не підтримує від’ємні числа, оскільки вимагав би нескінченної кількості одиниць.
- Якщо ви введете
Професійна порада: Якщо ви працюєте з кольорами або IP-адресами, завжди використовуйте режим “Тільки додатні”. Якщо ви виконуєте завдання з C/C++ або асемблера, переключіться на 32-бітний або 64-бітний режими.
Таблиця швидких перетворень (Шпаргалка)
Для швидкої орієнтації тут наведено основні значення, які кожен “айтішник” повинен знати напам’ять.
| Десяткове (DEC) | Шістнадцяткове (HEX) | Двійкове (BIN) | Примітка |
|---|---|---|---|
| 0 | 00 | 0000 | Нуль |
| 1 | 01 | 0001 | |
| 10 | 0A | 1010 | |
| 15 | 0F | 1111 | Максимальне значення 4 бітів (Нібл) |
| 16 | 10 | 0001 0000 | |
| 127 | 7F | 0111 1111 | Макс. значення для signed 8-bit (char) |
| 255 | FF | 1111 1111 | Макс. значення для unsigned 8-bit (байт) |
| 65 535 | FFFF | … | Макс. значення для 16-bit |
Часті запитання (FAQ)
Що означає "Bit Depth" (Бітова розрядність)?
Визначає, скільки пам'яті виділено для числа.- 8-біт: Значення від 0 до 255 (або від -128 до 127). Відповідає типу
charабоbyte. - 16-біт: Значення до 65 535. Відповідає типу
short. - 32-біт: Стандартний
intу сучасних мовах. - 64-біт: Для дуже великих чисел (
long long,BigInt).
Чому число 255 в HEX записується як FF?
Шістнадцяткова система має 16 цифр (0-9 та A-F), де F має значення 15. ЧислоFF обчислюється як: $(15 \times 16^1) + (15 \times 16^0) = 240 + 15 = 255$.
Як перетворити HEX колір на RGB?
Колір на вебсайті, наприклад#E05412, складається з трьох байтів: Червоний (E0), Зелений (54), Синій (12).
Введіть "E0" у поле HEX нашого конвертера -> отримаєте 224.
Введіть "54" -> отримаєте 84.
Введіть "12" -> отримаєте 18.
Результат: rgb(224, 84, 18).
Що означають префікси 0x, 0b або 0o?
Щоб програмісти розрізняли системи числення, використовуються префікси:0x= Шістнадцятковий (напр. 0xFF)0b= Двійковий (напр. 0b101)0o= Вісімковий (напр. 0o755)
Чому поле стало червоним?
Це функція валідації вводу. Це означає, що ви ввели символ, який не належить до даної системи числення. Наприклад:- Літера "G" у HEX (дозволено лише A-F).
- Цифра "2" у BIN (дозволено лише 0 та 1).
- Цифра "8" у OCT (дозволено лише 0-7).