Перевод чисел из 10-ой системы счисления
Перевод целых
чисел
Пусть а – десятичное
целое число. Тогда это число можно представить в двоичной системе в виде суммы
положительных степеней двойки, т. е. число а можно представить в виде
а
= аn
* 2n + an-1 * 2n-1 + … + a1 * 2 +
a0,
где аj –
цифры двоичной системы.
Разделим число а на 2 нацело. Частное
от деления будет равно аn *
2n-1 + an-1 * 2n-2 + … + a1, остаток от деления равен
а0.
Полученное частное
опять разделим на 2, остаток от деления будет равен
а1.
Если продолжить этот процесс деления,
то на (n + 1) – м
шаге получим последовательность цифр а0, а1,
а2, …, аn,
которые являются цифрами числа а в двоичной системе, но записанными в обратном
порядке.
Полученное правило
перевода можно записать в виде следующего
алгоритма.
Алгоритм перевода
целого числа из десятичной системы в двоичную:
1)
Делим исходное число а на 2 нацело в
десятичной системе и записываем в качестве нового значения десятичного числа а
целую результата от деления;
2)
Остаток от
деления (это будет 0 или 1) приписываем слева к полученным ранее цифрам в
двоичной записи числа а (первая полученная цифра соответствует младшему разряду
и ее мы просто записываем);
3)
Выполняем
(1) и (2) до тех пор, пока число а не станет равным
0.
Пример.
Перевод числа 123 в двоичную систему счисления:
123 : 2 = 61 (1)
В скобках указано значение остатка от деления:
каждый
61 : 2 = 30 (1)
остаток – это цифра в двоичной записи числа.
30 : 2 = 15 (0)
Ответ: 123 = 11110112.
15 : 2 = 7
(1)
7 : 2 = 3
(1)
3 : 2 = 1
(1)
1 : 2 = 0 (1)
Типичные ошибки при
реализации этого алгоритма следующие:
·
Нарушение
порядка записи полученных цифр (часто их ошибочно записывают слева направо, а не
справа налево);
·
Неправильное выписывание крайней
слева цифры (про нее либо забывают, так как в результате последнего деления
получается ноль целых, либо получают неверно при выполнении операции деления
остатком меньшего числа на большее).
|