Перевод из восьмеричной системы счисления в десятичную
Перевести восьмеричное число в десятичное достаточно просто, для этого необходимо воспользоваться формулой. Важное замечание состоит в том, что для перевода целого и дробного восьмеричного числа используются разные, хоть и схожие, формулы.
Алгоритм перевода целого восьмеричного числа в десятичную систему счисления
Для перевода целого восьмеричного числа в десятичное, обратимся к развернутой форме записи числа для позиционной системы счисления:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0
где A — число, q — основание системы счисления, а n — количество разрядов числа.
Зная основание системы счисления (8), выведем формулу перевода:
A8 = an-1 ∙ 8n-1 + an-2 ∙ 8n-2 + ∙∙∙ + a0 ∙ 80
Пример 1: Перевести число 7471 из восьмеричной системы в десятичную
Применив выведенную формулу, получим:
74718=7 ∙ 83 + 4 ∙ 82 + 7 ∙ 81 + 1 ∙ 80 = 7 ∙ 512 + 4 ∙ 64 + 7 ∙ 8 + 1 ∙ 1 = 3584 + 256 + 56 + 1 = 389710
Ответ: 74718 = 389710
Алгоритм перевода восьмеричной дроби в десятичную систему счисления
Как и в предыдущем случае, для перевода восьмеричной дроби в десятичную систему, воспользуемся развернутой формой представления дробей в позиционных системах:
An = an-1 ∙ qn-1 + an-2 ∙ qn-2 + ∙∙∙ + a0 ∙ q0 + a-1 ∙ q-1 + ∙∙∙ + a-m ∙ q-m
где A — число, q — основание системы счисления, n — количество целых разрядов, а m — количество дробных разрядов числа. Зная основание системы счисления (8), выведем формулу перевода:
A8 = an-1 ∙ 8n-1 + an-2 ∙ 8n-2 + ∙∙∙ + a0 ∙ 80 + a-1 ∙ 8-1 + ∙∙∙ + a-m ∙ 8-m
Пример 2: Перевести число 0,745 из восьмеричной системы в десятичную
Применив выведенную формулу, получим:
0.7458=0 ∙ 80 + 7 ∙ 8-1 + 4 ∙ 8-2 + 5 ∙ 8-3 = 0 ∙ 1 + 7 ∙ 0.125 + 4 ∙ 0.015625 + 5 ∙ 0.001953125 = 0 + 0.875 + 0.0625 + 0.009765625 = 0.94726562510
Ответ: 0.7458 = 0.94726562510
Пример 3: Перевести число 157,62 из восьмеричной системы в десятичную
157.628=1 ∙ 82 + 5 ∙ 81 + 7 ∙ 80 + 6 ∙ 8-1 + 2 ∙ 8-2 = 1 ∙ 64 + 5 ∙ 8 + 7 ∙ 1 + 6 ∙ 0.125 + 2 ∙ 0.015625 = 64 + 40 + 7 + 0.75 + 0.03125 = 111.7812510
Ответ: 157.628 = 111.7812510