Конвертер шістнадцяткових у десяткові числа
Перетворюйте шістнадцяткові числа на десяткові та навпаки. Підтримує кольорові HEX-коди. Безкоштовний математичний калькулятор для миттєвих результатів. Без реєстрації.
Розуміння шістнадцяткової системи числення
Шістнадцяткова (hex) система — це система числення з основою 16, яка використовує 16 різних символів: цифри 0–9 та літери A–F (де A=10, B=11, C=12, D=13, E=14, F=15). Hex широко застосовується в обчислювальній техніці як зручний спосіб представлення двійкових даних, оскільки кожні 4 двійкових розряди (біти) відповідають рівно одному hex-символу — що робить hex компактним скороченням для двійкового запису.
Кожна позиція в шістнадцятковому числі представляє ступінь числа 16:
| Позиція | 16³ | 16² | 16¹ | 16⁰ |
|---|---|---|---|---|
| Значення | 4 096 | 256 | 16 | 1 |
Перетворення hex у десяткове: Помножте кожну hex-цифру на відповідний степінь 16 і підсумуйте результати.
Приклад: 2F4A₁₆ = 2×4096 + F(15)×256 + 4×16 + A(10)×1 = 8 192 + 3 840 + 64 + 10 = 10 106
Шістнадцяткові числа зазвичай мають префікс 0x у програмуванні (наприклад, 0x2F4A) або суфікс h в асемблері (наприклад, 2F4Ah), щоб відрізняти їх від десяткових чисел.
Перетворення десяткових у шістнадцяткові
Перетворення з десяткової на шістнадцяткову використовує той самий метод послідовного ділення, що й при перетворенні у двійкову систему, але ділення відбувається на 16, а не на 2.
Метод: Послідовно діліть на 16, записуючи остачу на кожному кроці. Остачі 10–15 записуються як A–F. Читайте остачі знизу вгору.
Приклад: Перетворення 1 500 у hex
- 1500 ÷ 16 = 93, остача 12 → C
- 93 ÷ 16 = 5, остача 13 → D
- 5 ÷ 16 = 0, остача 5 → 5
Читаємо знизу вгору: 5DC₁₆
Перевірка: 5×256 + D(13)×16 + C(12)×1 = 1 280 + 208 + 12 = 1 500 ✓
Приклад: Перетворення 255 у hex (максимальне значення байта)
- 255 ÷ 16 = 15, остача 15 → F
- 15 ÷ 16 = 0, остача 15 → F
Результат: FF₁₆ — саме тому 255 представляється як 0xFF у коді, а #FFFFFF (білий) у CSS використовує всі три канали на максимумі (255, 255, 255).
Порада для швидкого ментального перетворення: Для чисел менше 256, визначте найбільше кратне 16 (перша hex-цифра) та остачу (друга hex-цифра). 180 = 11×16 + 4 = B4₁₆. 200 = 12×16 + 8 = C8₁₆.
HEX-кольори: веб та дизайн-застосування
Одним із найпоширеніших повсякденних застосувань шістнадцяткової системи є кольорові коди CSS та веб. Кольори задаються у форматі #RRGGBB, де RR, GG та BB — двозначні hex-значення (00–FF) для каналів червоного, зеленого та синього кольорів відповідно.
| HEX-колір | R (десяткове) | G (десяткове) | B (десяткове) | Опис кольору |
|---|---|---|---|---|
| #000000 | 0 | 0 | 0 | Чорний (всі канали на мінімумі) |
| #FFFFFF | 255 | 255 | 255 | Білий (всі канали на максимумі) |
| #FF0000 | 255 | 0 | 0 | Чистий червоний |
| #00FF00 | 0 | 255 | 0 | Чистий зелений (лайм) |
| #0000FF | 0 | 0 | 255 | Чистий синій |
| #FF5733 | 255 | 87 | 51 | Яскравий помаранчево-червоний |
| #4A90D9 | 74 | 144 | 217 | Середньо-блакитний |
| #808080 | 128 | 128 | 128 | Середньо-сірий (50% кожного) |
Кожен канал (00–FF) дає 256 рівнів × 3 канали = 16 777 216 можливих кольорів (16,7 мільйона). Скорочений формат #RGB (наприклад, #F5A) розгортає кожну цифру до двох однакових цифр: #FF55AA — використовується в CSS, коли обидві hex-цифри пари однакові.
Сучасний CSS також підтримує #RRGGBBAA (8 hex-цифр) для кольорів з прозорістю (альфа-канал), де AA визначає непрозорість від 00 (повністю прозорий) до FF (повністю непрозорий). Приклад: #FF573380 = помаранчево-червоний з 50% непрозорістю (80₁₆ = 128₁₀ ≈ 50%).
Hex у програмуванні та обчислювальній техніці
Шістнадцяткова система зустрічається в програмуванні, документації апаратного забезпечення та комп'ютерних науках:
Адреси пам'яті: Адреси ОЗП та процесора виражаються в hex. 64-бітна адреса пам'яті може виглядати як 0x7FFE0B4C3A20. Hex використовується тому, що він компактно представляє двійкові дані, і 2 hex-цифри = рівно 1 байт — що робить арифметику адрес інтуїтивною.
Машинний код та дизасемблювання: Інструкції процесора кодуються у вигляді hex-байтів. Інструкція x86 MOV EAX, 0x42 компілюється у hex-байти B8 42 00 00 00. Дослідники безпеки та низькорівневі програмісти читають hex-дампи для розуміння або зворотної розробки програмного забезпечення.
Кодування символів ASCII: ASCII відображає символи на числа 0–127. У hex: 'A' = 0x41, 'a' = 0x61, пробіл = 0x20, '0' = 0x30. Шаблон послідовний — великі літери починаються з 0x41, малі з 0x61 (різниця рівно 0x20 = 32, тому XOR літери з 0x20 перемикає її регістр).
Адреси IPv6: 128-бітні адреси IPv6 записуються у вигляді 8 груп по 4 hex-цифри: 2001:0DB8:AC10:FE01:0000:0000:0000:0001. Кожна група представляє 16 бітів (4 hex-цифри × 4 біти кожна). Адреси IPv4 також можна виразити в hex: 192.168.1.1 = 0xC0A80101.
Коди помилок: Коди зупинки Windows («Синій екран смерті») є hex: 0x0000007E, 0xC0000005. Коди errno в UNIX, коди стану HTTP у мережевих пакетах та коди POST BIOS — всі використовують hex. Знання загальних hex-шаблонів допомагає усувати системні проблеми.
Двійкова, вісімкова, десяткова, hex: повний довідник перетворень
Чотири системи числення, що використовуються в обчислювальній техніці, та їх взаємозв'язок:
| Десяткове | Двійкове | Вісімкове | Hex |
|---|---|---|---|
| 0 | 0000 | 0 | 0 |
| 1 | 0001 | 1 | 1 |
| 2 | 0010 | 2 | 2 |
| 4 | 0100 | 4 | 4 |
| 8 | 1000 | 10 | 8 |
| 10 | 1010 | 12 | A |
| 15 | 1111 | 17 | F |
| 16 | 0001 0000 | 20 | 10 |
| 32 | 0010 0000 | 40 | 20 |
| 64 | 0100 0000 | 100 | 40 |
| 128 | 1000 0000 | 200 | 80 |
| 255 | 1111 1111 | 377 | FF |
| 256 | 0001 0000 0000 | 400 | 100 |
| 1 024 | 0100 0000 0000 | 2 000 | 400 |
| 65 535 | 1111 1111 1111 1111 | 177 777 | FFFF |
Ярлики для швидкого перетворення:
- Двійкове ↔ Hex: Згрупуйте двійкові цифри по 4 (справа), перетворіть кожну групу в одну hex-цифру. Ніякого ділення не потрібно. 1010 1100 1111₂ = A, C, F = ACF₁₆
- Двійкове ↔ Вісімкове: Згрупуйте двійкові цифри по 3 (справа), перетворіть кожну групу. 001 010 011₂ = 1, 2, 3 = 123₈
- Hex ↔ Вісімкове: Перетворіть через двійкове як проміжний крок — hex у двійкове (4 біти на hex-цифру), потім двійкове у вісімкове (3 біти на вісімкову цифру)
Практичні hex-обчислення та поради
Декілька корисних технік для роботи з hex на практиці:
Додавання hex: Додавайте колонку за колонкою, переносячи, коли сума досягає 16. Приклад: 3A + 2F:
- Колонка одиниць: A(10) + F(15) = 25 десяткових = 19₁₆ → записуємо 9, перенесення 1
- Колонка шістнадцяток: 3 + 2 + 1(перенесення) = 6
- Результат: 69₁₆ = 105 десяткових. Перевірка: 58 + 47 = 105 ✓
Перевірка подільності в hex: Hex-число ділиться на 16, якщо остання цифра 0 (аналогічно подільності на 10 у десятковій). Воно ділиться на 2, якщо остання hex-цифра парна (0,2,4,6,8,A,C,E).
Hex у URL-адресах та кодуванні: URL кодує спеціальні символи за допомогою процентного кодування: пробіл стає %20 (0x20 = 32 = пробіл в ASCII). Символ @ = %40 (0x40 = 64 = '@' в ASCII). Знання ASCII hex-кодів допомагає декодувати закодовані URL.
Хеш-функції виводять hex: MD5 дає 128-бітний (32 hex-символи) вивід. SHA-256 дає 256-бітний (64 hex-символи) вивід. Приклад SHA-256 хешу: a665a45920422f9d417e4867efdc4fb8a04a1f3fff1fa07e998e86f7f7a27ae3 — завжди 64 hex-символи незалежно від розміру вхідних даних. Це те, що ви бачите при перевірці завантажених файлів за контрольними сумами.
Часті запитання
Як перетворити шістнадцяткове число у десяткове?
Помножте кожну hex-цифру на 16 в степені її позиції (починаючи з 0 справа) і підсумуйте результати. Приклад: 1A3₁₆ = 1×256 + A(10)×16 + 3×1 = 256 + 160 + 3 = 419. Наш калькулятор робить це миттєво для будь-якого введеного hex-значення.
Як перетворити десяткове число у шістнадцяткове?
Послідовно діліть на 16 та записуйте остачу на кожному кроці. Остачі 10–15 представляються як A–F. Читайте остачі від останньої до першої. Приклад: 255 ÷ 16 = 15, остача 15(F); 15 ÷ 16 = 0, остача 15(F) → 255 десяткових = FF hex.
Де використовуються шістнадцяткові числа?
Hex використовується в усій обчислювальній техніці: адреси пам'яті (0x7FF0E2A0), веб-кольорові коди (#FF5733), машинний код та двійкові дані, мережеві адреси IPv6, криптографічні хеш-виводи (MD5, SHA-256), кодування символів ASCII, права доступу до файлів Unix, коди помилок BIOS та будь-який контекст, де потрібне компактне двійкове представлення.
Чому hex використовує літери від A до F?
Шістнадцяткова система має основу 16, що вимагає 16 різних символів. Цифри 0–9 покривають перші 10 значень. Літери A–F представляють значення 10–15 відповідно. Ця конвенція була стандартизована в обчислювальній техніці у 1960-х роках. Вибір між великими та малими літерами (A-F чи a-f) залежить від системи; обидва варіанти є дійсними і представляють однакові значення.
Що таке 0xFF у десятковому вигляді?
0xFF = F×16 + F×1 = 15×16 + 15 = 240 + 15 = 255. Це максимальне значення 8-бітного байта (без знаку). Воно часто зустрічається в програмуванні для бітових масок, максимальних значень кольорових каналів (RGB використовує 0x00–0xFF на канал) та будь-де, де потрібне 8-бітне максимальне значення.
Як читати hex-кольорові коди?
Hex-кольоровий код, наприклад #4A90D9, розділяється на три пари: 4A (червоний), 90 (зелений), D9 (синій). Перетворіть кожну в десяткове: 4A = 4×16+10 = 74; 90 = 9×16+0 = 144; D9 = 13×16+9 = 217. Отже, #4A90D9 = rgb(74, 144, 217) — середньо-блакитний. Чим вище значення (ближче до FF/255), тим більше цього кольорового компонента.
Яка різниця між префіксами 0x та # у hex?
Обидва позначають шістнадцяткові числа, але в різних контекстах. 0x (наприклад, 0xFF, 0x1A3) — стандартний префікс у мовах програмування (C, C++, Java, Python, JavaScript тощо). # використовується спеціально для веб/CSS кольорів (#FF5733). Деякі контексти використовують суфікс h (мова асемблера), префікс $ (старіші системи) або відсутність префіксу (коли контекст зрозумілий).
Як швидко перетворювати між двійковим та hex?
Згрупуйте двійкове число в набори по 4 біти справа наліво, потім перетворіть кожну групу в одну hex-цифру. Оскільки 4 біти = рівно одна hex-цифра, жодна арифметика не потрібна. Приклад: двійкове 1011 0100 1100₂ → групуємо як 1011|0100|1100 → B|4|C → B4C₁₆. Це також працює у зворотному напрямку: кожна hex-цифра розгортається в рівно 4 двійкові цифри.