Перевод целых чисел из десятичной системы в систему счисления с основанием В
Перевод целых чисел из десятичной системы счисления в систему счисления с любым другим основанием В основывается на следующих соображениях. Если некоторое целое число N записано в B-ичной позиционной системе с естественными весами разрядов в виде
![]()
то эта запись обозначает, что десятичный эквивалент числа определяется как
![]()
Ясно, что младшая цифра 4a1, a1 < B, есть остаток от деления N на B. Целая часть частного от деления N на B равна:
![]()
Вторая цифра числа a2 есть остаток от деления N1 на B и т.д. Алгоритм перевода целого числа из десятичной системы в позиционную B-ичную систему счисления выглядит следующим образом:
1) разделить исходное число N (заданное в десятичной системе) на B; полученный остаток является младшей цифрой в представлении числа B-ичной системой счисления;
2) разделить целую часть частного, полученного при предыдущем делении, на B, остаток является очередной цифрой в B-ичном представлении числа;
3) повторять п. 2 до тех пор, пока целая часть частного не окажется равной нулю;
4) записать число в системе счисления с основанием B, используя остатки от деления по п. 1 и п. 2 в качестве значений разрядов этого числа. Последний из полученных остатков определяет значение старшего разряда.
Все операции выполняются в десятичной системе счисления.
Пример 1.7.
Перевести десятичное число 3187310 в восьмеричную систему счисления:

Искомое представление числа ® 762018 .
Пример 1.8.
Требуется перевести десятичное число N10 в двоичную систему счисления.

Двоичная запись десятичного числа N10 = 18910 имеет следующий вид:
N2 = 101111012.
Проверка правильности перевода:
101111012 = 1×27 + 0×26 +1×25 +1×24 +1×23 +1×22 +0×21 +1×20 = … = 128 + 32 +
+ 16 + 8 + 4 + 1 = 189.
Пример 1.9.
Требуется перевести десятичное число N10 в восьмеричную систему счисления.

Восьмеричная запись числа N10 = 18910 имеет вид N8 = 275.
Проверка правильности перевода:
![]()
Перевод дробных чисел из десятичной системы в систему счисления с основанием B
Перевод дробных чисел из десятичной системы в любую другую систему счисления с основанием B выполняется по аналогии с переводом целых чисел.
Если некоторое дробное число D записано в B-ичной позиционной системе счисления с естественными весами разрядов в виде D = 0,d1 d2 d3 ... dm-1 dm,
то это означает, что
![]()
Отсюда вытекает следующий алгоритм преобразования:
1) умножить исходное число D (заданное в десятичной системе) на B, целая часть полученного результата является старшей цифрой в представлении числа B-ичной системой;
2) умножить дробную часть полученного в п. 1 результата на B; целая часть полученного произведения является очередной цифрой в B-ичном представлении числа;
3) повторять п. 2 до тех пор, пока дробная часть произведения не окажется равной нулю или пока не будет получено заданное количество цифр в B-ичном представлении числа.
Все операции можно выполнять в десятичной системе счисления.
Пример 1.10.
Перевести десятичное число D10 = 0,972687 в восьмеричную систему счисления.

Пример 1.11.
Требуется перевести правильную десятичную дробь D10 в двоичную систему счисления.
Пусть D10 = 0,6875; В = 2.

Результатом преобразования правильной десятичной дроби D10 в двоичную систему счисления является запись D2 = 0, 1011.
Проверка правильности перевода:
0, 10112 = 0, (1×2-1 + 0×2-2 + 1×2-3 + 1×2-4) = 0, (1/2 +1/8 +1/16) = 0,687510.
Пример 1.12.
Требуется перевести десятичную дробь D10 в восьмеричную систему счисления.
Пусть D10 = 0,6875; B = 8.

Восьмеричная запись десятичной правильной дроби D10 имеет вид
D8 = 0,54.
Проверка правильности перевода:
0,548 = 0, (5×8-1 + 4×8-2) = 0, (5/8 + 4/64) = 0,687510.
Пример 1.13.
Перевод числа D10 = 1/3 в двоичную систему счисления.

и т. д. (периодически).
Искомое представление числа – (0,010101 ...)2.