Перевод из любой системы счисления в десятичную
Перевести любое число позиционной системы счисления в десятичное достаточно просто, для этого необходимо воспользоваться формулой. Важное замечание состоит в том, что для перевода целого и дробного q-ичного числа используются разные, хоть и схожие, формулы.
Таблица соответствия популярных систем счисления
Перед тем как перейти к алгоритму перевода, вспомним таблицу соответствия:
Десятичная система | Двоичная система | Восьмеричная система | Шестнадцатеричная система |
---|---|---|---|
0 | 0 | 0 | 0 |
1 | 1 | 1 | 1 |
2 | 10 | 2 | 2 |
3 | 11 | 3 | 3 |
4 | 100 | 4 | 4 |
5 | 101 | 5 | 5 |
6 | 110 | 6 | 6 |
7 | 111 | 7 | 7 |
8 | 1000 | 10 | 8 |
9 | 1001 | 11 | 9 |
10 | 1010 | 12 | A |
11 | 1011 | 13 | B |
12 | 1100 | 14 | C |
13 | 1101 | 15 | D |
14 | 1110 | 16 | E |
15 | 1111 | 17 | F |
Алгоритм перевода целого q-ичного числа в десятичную систему счисления
Для перевода целого числа с основанием q в десятичное, обратимся к развернутой форме записи числа для позиционной системы счисления:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0
где A — число, q — основание системы счисления, а n — количество разрядов числа.
Пример 1: Перевести число 10011 из двоичной системы в десятичную
Применив развернутую форму записи числа, получим:
100112=1 ∙ 24 + 0 ∙ 23 + 0 ∙ 22 + 1 ∙ 21 + 1 ∙ 20 = 1 ∙ 16 + 0 ∙ 8 + 0 ∙ 4 + 1 ∙ 2 + 1 ∙ 1 = 16 + 0 + 0 + 2 + 1 = 1910
Ответ: 100112 = 1910
Пример 2: Перевести число 17 из восьмеричной системы в десятичную
Аналогично предыдущему примеру, применив развернутую форму записи числа, получим:
178=1 ∙ 81 + 7 ∙ 80 = 1 ∙ 8 + 7 ∙ 1 = 8 + 7 = 1510
Ответ: 178 = 1510
Ответ можно сравнить с таблицей соответствия и убедиться, что 178 = 1510.
Пример 3: Перевести число 20341 из пятеричной системы в десятичную
203415=2 ∙ 54 + 0 ∙ 53 + 3 ∙ 52 + 4 ∙ 51 + 1 ∙ 50 = 2 ∙ 625 + 0 ∙ 125 + 3 ∙ 25 + 4 ∙ 5 + 1 ∙ 1 = 1250 + 0 + 75 + 20 + 1 = 134610
Ответ: 203415 = 134610
Алгоритм перевода q-ичной дроби в десятичную систему счисления
Как и в предыдущем случае, для перевода q-ичной дроби в десятичную систему, воспользуемся развернутой формой представления дробей в позиционных системах:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m
где A — число, q — основание системы счисления, n — количество целых разрядов, а m — количество дробных разрядов числа.
Пример 4: Перевести число 0,F3D0 из шестнадцатеричной системы в десятичную
Применив развернутую форму записи дробного числа, получим:
0.F3D016=0 ∙ 160 + F ∙ 16-1 + 3 ∙ 16-2 + D ∙ 16-3 + 0 ∙ 16-4 = 0 ∙ 1 + 15 ∙ 0.0625 + 3 ∙ 0.00390625 + 13 ∙ 0.000244140625 + 0 ∙ 1.52587890625E-5 = 0 + 0.9375 + 0.01171875 + 0.003173828125 + 0 = 0.95239257812510
Ответ: 0.F3D016 = 0.95239257812510