Перевод из десятичной системы счисления в восьмеричную
Перед тем как перейти к алгоритму перевода, вспомним алфавит восьмеричной и десятичной системы счисления:
Основание | Название | Алфавит |
---|---|---|
8 | Восьмеричная | 0, 1, 2, 3, 4, 5, 6, 7 |
10 | Десятичная | 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 |
Для перевода чисел из десятичной системы в восьмеричную, воспользуемся соответствующим алгоритмом. Важно заметить, что алгоритм перевода целых и дробных чисел будет отличаться.
Алгоритм перевода целых десятичных чисел в восьмеричную систему счисления
- Последовательно выполнять деление десятичного числа и получаемых целых частных на 8, до тех пор, пока частное не станет равным 0.
- Для получения ответа в восьмеричном коде, необходимо записать, полученные, в результате деления остатки, в обратном порядке.
Пример 1: перевести десятичное число 1234 в восьмеричную систему счисления
Для наглядности произведем деление «столбиком». Решение будет выглядеть следующим образом:
Исходя из вышеприведенного алгоритма, полученные остатки необходимо записать в обратном порядке.
Ответ: 123410=23228
Алгоритм перевода десятичной дроби в восьмеричную систему
- Последовательно выполнять умножение исходной дроби на 8, до тех пор, пока, дробная часть не станет равна 0 или пока не будет достигнута необходимая точность вычисления.
- Полученная дробь в восьмеричной системе будет равна прямой последовательности целых частей произведений.
Пример 2: перевести число 0,1234 в восьмеричную систему.
Решение будет выглядеть следующим образом:
0.1234 ∙ 8 = 0.9872 (0)
0.9872 ∙ 8 = 7.8976 (7)
0.8976 ∙ 8 = 7.1808 (7)
0.1808 ∙ 8 = 1.4464 (1)
0.4464 ∙ 8 = 3.5712 (3)
0.5712 ∙ 8 = 4.5696 (4)
0.5696 ∙ 8 = 4.5568 (4)
0.5568 ∙ 8 = 4.4544 (4)
0.4544 ∙ 8 = 3.6352 (3)
0.6352 ∙ 8 = 5.0816 (5)
0.0816 ∙ 8 = 0.6528 (0)
В данном примере можно продолжить вычисления, но зачастую, такой точности будет достаточно.
Ответ: 0.123410=0.077134443508
Перевод дробного десятичного числа в восьмеричную систему
Для того чтобы перевести десятичное число, содержащее дробную часть, необходимо отдельно перевести целую часть и отдельно дробную.
Пример 3: перевести число 1010,1875 из десятичной системы в восьмеричную
Для решения примера потребуется отдельно перевести 1010 и отдельно 0,1875 из десятичной системы в восьмеричную, используя вышеизложенные алгоритмы. Таким образом переведя 1010, получим:
101010=17628
Перевод десятичной дроби 0,1875 выглядит так:
0.1875 ∙ 8 = 1.5 (1)
0.5 ∙ 8 = 4 (4)
0.187510=0.148
Теперь осталось соединить результаты перевода. Таким образом: 1010.187510=1762.148
Обратите внимание, что данный пример наглядно демонстрирует ситуацию, при которой дробная часть стала равной 0 и дальнейшее вычисление закончилось.
Таблица соответствия десятичных и восьмеричных чисел
Десятичная система | Восьмеричная система |
---|---|
0 | 0 |
1 | 1 |
2 | 2 |
3 | 3 |
4 | 4 |
5 | 5 |
6 | 6 |
7 | 7 |
8 | 10 |
9 | 11 |
10 | 12 |
11 | 13 |
12 | 14 |
13 | 15 |
14 | 16 |
15 | 17 |