Перевод из десятичной системы в шестнадцатеричную
Перед тем как перейти к алгоритму перевода, вспомним алфавит шестнадцатеричной и десятичной системы счисления:
Основание | Название | Алфавит |
---|---|---|
10 | Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
16 | Шестнадцатеричная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F |
Для перевода чисел из десятичной системы в шестнадцатеричную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода целых десятичных чисел в шестнадцатеричную систему счисления
- Последовательно выполнять деление десятичного числа и получаемых целых частных на 16, до тех пор, пока частное не станет равным 0.
- Для получения ответа в шестнадцатеричном коде, необходимо записать, полученные, в результате деления остатки, в обратном порядке.
Пример 1: перевести десятичное число 12349 в шестнадцатеричную систему счисления
Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:
Исходя из вышеприведенного алгоритма, полученные остатки необходимо записать в обратном порядке.
Ответ: 1234910=303D16
Алгоритм перевода десятичной дроби в шестнадцатеричную систему
- Последовательно выполнять умножение исходной дроби на 16, до тех пор, пока, дробная часть не станет равна 0 или пока не будет достигнута необходимая точность вычисления.
- Полученная дробь в шестнадцатеричной системе будет равна прямой последовательности целых частей произведений.
Пример 2: перевести число 0,7715 в шестнадцатеричную систему.
Решение будет выглядеть следующим образом:
0.7715 ∙ 16 = 12.344 (C)
0.344 ∙ 16 = 5.504 (5)
0.504 ∙ 16 = 8.064 (8)
0.064 ∙ 16 = 1.024 (1)
0.024 ∙ 16 = 0.384 (0)
0.384 ∙ 16 = 6.144 (6)
0.144 ∙ 16 = 2.304 (2)
0.304 ∙ 16 = 4.864 (4)
0.864 ∙ 16 = 13.824 (D)
0.824 ∙ 16 = 13.184 (D)
0.184 ∙ 16 = 2.944 (2)
В данном примере можно продолжить вычисления, но зачастую, такой точности будет достаточно.
Ответ: 0.771510=0.C5810624DD216
Перевод дробного десятичного числа в шестнадцатеричную систему
Для того чтобы перевести десятичное число, содержащее дробную часть, необходимо отдельно перевести целую часть и отдельно дробную.
Пример 3: перевести число 10415,136 из десятичной системы в шестнадцатеричную
Для решения примера потребуется отдельно перевести 10415 и отдельно 0,136 из десятичной системы в шестнадцатеричную, используя вышеизложенные алгоритмы. Таким образом переведя 10415, получим:
1041510=28AF16
Перевод десятичной дроби 0,136 выглядит так:
0.136 ∙ 16 = 2.176 (2)
0.176 ∙ 16 = 2.816 (2)
0.816 ∙ 16 = 13.056 (D)
0.056 ∙ 16 = 0.896 (0)
0.896 ∙ 16 = 14.336 (E)
0.336 ∙ 16 = 5.376 (5)
0.376 ∙ 16 = 6.016 (6)
0.016 ∙ 16 = 0.256 (0)
0.256 ∙ 16 = 4.096 (4)
0.096 ∙ 16 = 1.536 (1)
0.536 ∙ 16 = 8.576 (8)
0.13610=0.22D0E56041816
Теперь осталось соединить результаты перевода. Таким образом: 10415.13610=28AF.22D0E56041816
Таблица соответствия десятичных и шестнадцатеричных чисел
Десятичная система | Шестнадцатеричная система |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 8 |
9 | 9 |
10 | A |
11 | B |
12 | C |
13 | D |
14 | E |
15 | F |