Перевод чисел из десятичной системы счисления в шестнадцатеричную позволяет представить привычные нам десятичные числа в более компактной форме, удобной для компьютерной обработки. Шестнадцатеричная система часто используется для представления машинных кодов, адресов памяти и цветовых значений в веб-разработке.
Десятичная система счисления
Десятичная система использует 10 цифр (от 0 до 9) и является позиционной - значение каждой цифры зависит от ее положения в числе. Каждый разряд представляет степень числа 10.
Математическое представление десятичного числа:
где - цифры от 0 до 9, а n - количество разрядов.
Шестнадцатеричная система счисления
В шестнадцатеричной системе используется 16 символов: цифры от 0 до 9 и буквы A, B, C, D, E, F, которые представляют значения от 10 до 15 соответственно. Система также является позиционной, но основание равно 16.
Математическое представление шестнадцатеричного числа:
где - цифры от 0 до F, а n - количество разрядов.
Соответствие десятичных и шестнадцатеричных чисел
- 0-9: Соответствуют аналогичным десятичным числам
- A: 10 в десятичной системе
- B: 11 в десятичной системе
- C: 12 в десятичной системе
- D: 13 в десятичной системе
- E: 14 в десятичной системе
- F: 15 в десятичной системе
Методы перевода чисел
Алгоритм перевода целых чисел из десятичной в шестнадцатеричную систему
- Делим число на 16
- Запоминаем остаток (0-15)
- Повторяем для частного
- Записываем остатки в обратном порядке
Для дробных чисел:
- Умножаем дробную часть на 16
- Записываем целую часть (0-15)
- Повторяем для новой дробной части
- Собираем цифры в прямом порядке
Примеры перевода
Перевести число 28 из десятичной в шестнадцатеричную систему
28 ÷ 16 = 1 (остаток 12 = C)
1 меньше 16, значит процесс завершен
Результат: 1C₁₆
Перевести число 255 из десятичной в шестнадцатеричную систему
255 ÷ 16 = 15 (остаток 15 = F)
15 меньше 16, записываем как F
Результат: FF₁₆
Перевести число 0.5 из десятичной в шестнадцатеричную систему
0.5 × 16 = 8.0
Результат: 0.8₁₆
Перевести число 15 из десятичной в шестнадцатеричную систему
15 меньше 16, значит записываем как F
Результат: F₁₆
Перевести число 0.25 из десятичной в шестнадцатеричную систему
0.25 × 16 = 4.0
Результат: 0.4₁₆
Перевести число 4096.625 из десятичной в шестнадцатеричную систему
Целая часть: 4096 ÷ 16 = 256 (остаток 0)
256 ÷ 16 = 16 (остаток 0)
16 ÷ 16 = 1 (остаток 0)
1 меньше 16
Дробная часть: 0.625 × 16 = 10.0 = A
Результат: 1000.A₁₆
Перевести число 65535.125 из десятичной в шестнадцатеричную систему
Целая часть: 65535 ÷ 16 = 4095 (остаток 15 = F)
4095 ÷ 16 = 255 (остаток 15 = F)
255 ÷ 16 = 15 (остаток 15 = F)
15 меньше 16 = F
Дробная часть: 0.125 × 16 = 2.0
Результат: FFFF.2₁₆
Перевести число 123456.789 из десятичной в шестнадцатеричную систему
Целая часть: 123456 ÷ 16 = 7716 (остаток 0)
7716 ÷ 16 = 482 (остаток 4)
482 ÷ 16 = 30 (остаток 2)
30 ÷ 16 = 1 (остаток 14 = E)
1 меньше 16
Дробная часть: 0.789 × 16 = 12.624 = C
0.624 × 16 = 9.984 = 9
0.984 × 16 = 15.744 = F
Результат: 1E240.C9F₁₆
Перевести число 1000000.0625 из десятичной в шестнадцатеричную систему
Целая часть: 1000000 ÷ 16 = 62500 (остаток 0)
62500 ÷ 16 = 3906 (остаток 4)
3906 ÷ 16 = 244 (остаток 2)
244 ÷ 16 = 15 (остаток 4)
15 меньше 16 = F
Дробная часть: 0.0625 × 16 = 1.0
Результат: F4240.1₁₆
Перевести число 16777215.99609375 из десятичной в шестнадцатеричную систему
Целая часть: 16777215 ÷ 16 = 1048575 (остаток 15 = F)
1048575 ÷ 16 = 65535 (остаток 15 = F)
65535 ÷ 16 = 4095 (остаток 15 = F)
4095 ÷ 16 = 255 (остаток 15 = F)
255 ÷ 16 = 15 (остаток 15 = F)
15 меньше 16 = F
Дробная часть: 0.99609375 × 16 = 15.9375 = F
0.9375 × 16 = 15.0 = F
Результат: FFFFFF.FF₁₆
Дополнительные примеры вычислений:
- 16 → 10:
- 31 → 1F:
- 100 → 64:
- 175 → AF:
- 240 → F0:
- 4096 → 1000:
- 1234.625 → 4D2.A:
- 2147483647 → 7FFFFFFF:
- 0.1 → 0.199999...:
- 3.1415926535 → 3.243F6A8885:
Таблица соответствия десятичных и шестнадцатеричных чисел
Десятичное число | Шестнадцатеричное число | Десятичное число | Шестнадцатеричное число |
---|---|---|---|
0 | 0 | 16 | 10 |
1 | 1 | 17 | 11 |
2 | 2 | 18 | 12 |
3 | 3 | 19 | 13 |
4 | 4 | 20 | 14 |
5 | 5 | 21 | 15 |
6 | 6 | 32 | 20 |
7 | 7 | 48 | 30 |
8 | 8 | 64 | 40 |
9 | 9 | 80 | 50 |
10 | A | 96 | 60 |
11 | B | 112 | 70 |
12 | C | 128 | 80 |
13 | D | 144 | 90 |
14 | E | 160 | A0 |
15 | F | 255 | FF |
Интересные факты о системах счисления
- В языке C# цвет «rgb(255, 165, 0)» записывается как «#FFA500» (оранжевый).
- Адреса памяти в IBM System/360 (1964 г.) впервые массово использовали HEX-нотацию.
- Консоль PlayStation 2 хранит ошибки в виде HEX-кодов: «Error 01A» — неисправность дисковода.
- В SHA-256 хешах HEX используется для сокращения длины строк: 64 символа вместо 256 бит.
- Древние майя использовали двадцатеричную систему счисления, основанную на подсчете пальцев рук и ног.
- В Древнем Вавилоне применялась шестидесятеричная система, следы которой сохранились до наших дней в измерении времени и углов.
- Первые компьютеры работали исключительно с двоичной системой, и программистам приходилось вручную переводить числа между системами счисления.
- В веб-разработке цвета часто задаются шестнадцатеричными числами, например, #FF0000 представляет чистый красный цвет.
- Римская система счисления, использующая буквы (I, V, X, L, C, D, M), является непозиционной, что делает арифметические операции в ней крайне сложными.
- В компьютерных играх часто используются шестнадцатеричные коды для "читов" или модификации игрового процесса.
- MAC-адреса сетевых устройств записываются в шестнадцатеричной системе для более компактного представления.
Частые вопросы о системах счисления
Почему HEX популярен в программировании?
Одна hex-цифра заменяет 4 бита, что упрощает чтение двоичных данных. Например, байт записывается как .
Как переводить дроби?
Дробную часть последовательно умножают на 16. Для 0.375: .
Зачем нужны буквы A-F?
Это компактная замена числам 10-15. Буква «F» равна 15 в DEC: .
Почему именно шестнадцатеричная система используется в компьютерах?
Шестнадцатеричная система удобна тем, что каждая её цифра точно представляет 4 бита информации, что делает её идеальной для работы с байтами (8 бит) и машинным кодом.
Как быстро научиться переводить числа между системами?
Начните с изучения базовых соответствий (0-15), практикуйтесь с простыми числами, используйте онлайн-калькуляторы для проверки результатов. Регулярная практика поможет развить навык быстрого перевода.
Где применяется шестнадцатеричная система в повседневной жизни?
В веб-дизайне для определения цветов, в программировании для отладки программ, при работе с сетевым оборудованием, в компьютерной безопасности для анализа данных.
Можно ли использовать дроби в шестнадцатеричной системе?
Да, дроби можно записывать в шестнадцатеричной системе, используя точку как разделитель целой и дробной части, аналогично десятичной системе.
Существуют ли другие системы счисления кроме десятичной и шестнадцатеричной?
Да, существует множество других систем: двоичная (используется в компьютерах), восьмеричная (применялась в ранних компьютерах), троичная (экспериментальные компьютеры) и многие другие.