Информатика. Учебное пособие. Терехов А.В - 9 стр.

UptoLike

При работе с компьютерами приходится параллельно использовать несколько позиционных систем счисления (чаще
всего двоичную, десятичную, восьмеричную и шестнадцатеричную), поэтому большое практическое значение имеют
процедуры перевода чисел из одной системы счисления в другую. Заметим, что во всех приведенных выше примерах
результат является десятичным числом, и, таким образом, способ перевода чисел из любой позиционной системы счисления
в десятичную уже продемонстрирован.
В общем случае, чтобы перевести целую часть числа из десятичной системы в систему с основанием В, необходимо
разделить ее на В. Остаток даст младший разряд числа. Полученное при этом частное необходимо вновь разделить на В
остаток даст следующий разряд числа и т.д. Деления продолжают до тех пор, пока частное не станет равным 0. Значения
получившихся остатков, взятые в обратной последовательности, образуют искомое двоичное число.
Целая и дробная части переводятся порознь. Для перевода дробной части ее необходимо умножить на В. Целая часть
полученного произведения будет первым (после запятой, отделяющей целую часть от дробной) знаком. Дробную же часть
произведения необходимо вновь умножить на В. Целая часть полученного числа будет следующим знаком и т.д.
Пример перевода целой части:
Остаток
25/2 = 12 (1),
12/2 = 6 (0),
6/2 = 3 (0),
3/2 = 1 (1),
1/2 = 0 (1).
Таким образом: 25
10
= 11001
2
.
Для перевода дробной части (или числа, у которого «0» целых) надо умножить ее на 2. Целая часть произведения будет
первой цифрой числа в двоичной системе. Затем, отбрасывая у результата целую часть, вновь умножаем на 2 и т.д. Заметим,
что конечная десятичная дробь при этом вполне может стать бесконечной (периодической) двоичной.
Пример перевода дробной части:
0,73 2 = 1,46 (целая часть 1),
0,46 2 = 0,92 (целая часть 0),
0,92 2 = 1,84 (целая часть 1),
0,84 2 = 1,68 (целая часть 1) и т.д.
Таким образом: 0,73
10
= 0,1011
2
.
Над числами, записанными в любой системе счисления, можно производить различные арифметические операции.
Так, для сложения и умножения двоичных чисел необходимо использовать следующие правила:
0 + 0 = 0;
0 + 1 = 1;
1 + 1 = 10;
0 0 = 0;
0 1 = 0;
1 1 = 1.
Необходимо отметить, что при двоичном сложении 1 + 1 возникает перенос единицы в старший разрядкак и в
десятичной арифметике:
1001
+1101
10110
С точки зрения изучения принципов представления и обработки информации в компьютере, обсуждаемые в этом
пункте системы представляют большой интерес. Хотя компьютер «знает» только двоичную систему счисления, часто с
целью уменьшения количества записываемых на бумаге или вводимых с клавиатуры компьютера знаков бывает удобнее
пользоваться восьмеричными или шестнадцатеричными числами, тем более что, как будет показано далее, процедура
взаимного перевода чисел из каждой из этих систем в двоичную очень простагораздо проще переводов между любой из
этих трех систем и десятичной.
Перевод чисел из десятичной системы счисления в восьмеричную производится (по аналогии с двоичной системой
счисления) с помощью делений и умножений на 8. Например, переведем число 58,32
10
:
58/8 = 7 (2 в остатке),
7/8 = 0 (7 в остатке).
0,32 8 = 2,56,
0,56 8 = 4,48,
0,48 8=3,84,...
Таким образом, 58,32
10
= 72,243...
8
= 7 8
1
+ 2 8
2
+ 2 8
–1
+ 4 8
–2
+ 3 8
–3
(из конечной дроби в одной системе может получиться бесконечная дробь в другой).
Перевод чисел из десятичной системы счисления в шестнадцатеричную производится аналогично.
С практической точки зрения представляет интерес процедура взаимного преобразования двоичных, восьмеричных и
шестнадцатеричных чисел. Для этого воспользуемся табл. 1.2 чисел от 0 до 15 (в десятичной системе счисления),
представленных в других системах счисления.
.