Перевод из шестнадцатеричной системы в десятичную
Перевести шестнадцатеричное число в десятичное достаточно просто, для этого необходимо воспользоваться формулой. Важное замечание состоит в том, что для перевода целого и дробного шестнадцатеричного числа используются разные, хоть и схожие, формулы.
Таблица соответствия шестнадцатеричных чисел
Перед тем как перейти к алгоритму перевода, вспомним таблицу соответствия десятичных и шестнадцатеричных чисел:
Десятичная система | Шестнадцатеричная система |
---|---|
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 |
Алгоритм перевода целого шестнадцатеричного числа в десятичную систему счисления
Для перевода целого шестнадцатеричного числа в десятичное, обратимся к развернутой форме записи числа для позиционной системы счисления:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0
где A — число, q — основание системы счисления, а n — количество разрядов числа.
Зная основание системы счисления (16), выведем формулу перевода:
A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160
Пример 1: Перевести число A2F из шестнадцатеричной системы в десятичную
Применив выведенную формулу, получим:
A2F16=A ∙ 162 + 2 ∙ 161 + F ∙ 160 = 10 ∙ 256 + 2 ∙ 16 + 15 ∙ 1 = 2560 + 32 + 15 = 260710
Ответ: A2F16 = 260710
Алгоритм перевода шестнадцатеричной дроби в десятичную систему счисления
Как и в предыдущем случае, для перевода шестнадцатеричной дроби в десятичную систему, воспользуемся развернутой формой представления дробей в позиционных системах:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m
где A — число, q — основание системы счисления, n — количество целых разрядов, а m — количество дробных разрядов числа. Зная основание системы счисления (16), выведем формулу перевода:
A16 = an-1 ∙ 16n-1 + an-2 ∙ 16n-2 + ∙∙∙ + a0 ∙ 160 + a-1 ∙ 16-1 + ∙∙∙ + a-m ∙ 16-m
Пример 2: Перевести число 0,2A9 из шестнадцатеричной системы в десятичную
Применив выведенную формулу, получим:
0.2A916=0 ∙ 160 + 2 ∙ 16-1 + A ∙ 16-2 + 9 ∙ 16-3 = 0 ∙ 1 + 2 ∙ 0.0625 + 10 ∙ 0.00390625 + 9 ∙ 0.000244140625 = 0 + 0.125 + 0.0390625 + 0.002197265625 = 0.16625976562510
Ответ: 0.2A916 = 0.16625976562510
Пример 3: Перевести число 104,F2 из шестнадцатеричной системы в десятичную
104.F216=1 ∙ 162 + 0 ∙ 161 + 4 ∙ 160 + F ∙ 16-1 + 2 ∙ 16-2 = 1 ∙ 256 + 0 ∙ 16 + 4 ∙ 1 + 15 ∙ 0.0625 + 2 ∙ 0.00390625 = 256 + 0 + 4 + 0.9375 + 0.0078125 = 260.945312510
Ответ: 104.F216 = 260.945312510