622 | 16 | |
48 | 38 | 16 |
142 | 32 | 2→2 |
128 | 6→6 | |
14→E |
Перевод правильных дробей из десятичной системы счисления в двоичную или другие системы счисления. Для перевода правильной десятичной дроби в другую систему эту дробь надо последовательно умножать на основание той системы, в которую она переводится. При этом умножаются только дробные части. Дробь в новой системе записывается в виде целых частей произведений, начиная с первого. Пример:
0 | 3125 8 |
2 | 5000 8 |
4 | 0000 |
Перевести
с.с.Результат
.Замечание. Конечной десятичной дроби в другой системе счисления может соответствовать бесконечная (иногда периодическая) дробь. В этом случае количество знаков в представлении дроби в новой системе берется в зависимости от требуемой точности.
Пример:
0 | 65´ 2 | |
1 | 3 ´ 2 | |
0 | 6 ´ 2 | |
1 | 2 ´ 2 | |
0 | 4 ´ 2 | |
0 | 8 ´ 2 | |
1 | 6 ´ 2 | |
. . . |
Перевести
с.с.Точность 6 знаков. Результат
.Для перевода неправильной десятичной дроби в систему счисления с недесятичным основанием необходимо отдельно перевести целую часть и отдельно дробную. Пример:
Перевести
с.с.1) Переведем целую часть: | 2) Переведем дробную часть: | |||||
23 | 2 | |||||
22 | 11 | 2 | ||||
1 | 10 | 5 | 2 | |||
1 | 4 | 2 | 2 | |||
1 | 2 | 1 | ||||
0 |
0 | 125 2 |
0 | 25 2 |
0 | 5 2 |
1 | 0 |
Таким образом
; .Результат:
.Необходимо отметить, что целые числа остаются целыми, а правильные дроби – дробями в любой системе счисления.
Приложение 3
Двоичная арифметика целых чисел.
Машинное представление целых чисел
Правила выполнения арифметических действий над двоичными числами задаются таблицами двоичного сложения, вычитания и умножения, соответственно.
Таблица 2.1
Таблица сложения | Таблица вычитания | Таблица умножения |
0+0=0 0+1=1 1+0=1 1+1=10 | 0–0=0 1–0=1 1–1=0 10–1=1 | 0 0=0 0 1=0 1 0=0 1 1=1 |
При сложении двоичных чисел в каждом разряде производится сложение цифр слагаемых и перенос из соседнего младшего разряда, если он имеется. При этом необходимо учитывать, что 1+1 дают нуль в данном разряде и единицу переноса в следующий.
При вычитании двоичных чисел в данном разряде при необходимости занимается единица из старшего разряда. Эта занимаемая единица равна двум единицам данного разряда.
Умножение двоичных чисел производится по тем же правилам, что и для десятичных с помощью таблиц двоичного умножения и сложения.
Деление двоичных чисел производится по тем же правилам, что и для десятичных чисел. При этом используются таблицы двоичного умножения и вычитания.
Пример: Вычислить X+Y. Вычислить X–Y.
X= 1101 X = 10010
Y= 101 Y = – 101
X+Y= 10010 X-Y = 1101
Вычислить X
Y. Вычислить X:Y.110001.1 | 1001 |
– 1001 | 101.1 |
1101 | |
– 1001 | |
1001 – 1001 | |
0 |
X= 1001
Y=
1011001
1001
X
Y= 101101В ЭВМ в целях упрощения электронных схем для выполнения арифметических операций с целыми числами применяют специальное кодирование для представления целых чисел. Использование кодов позволяет свести операцию вычитания чисел к арифметическому сложению кодов этих чисел. Применяются прямой, обратный и дополнительный коды целых чисел. Прямой код используется для представления отрицательных чисел в запоминающем устройстве ЭВМ, а также при умножении и делении. Обратный и дополнительный коды используются для замены операции вычитания операцией сложения, что упрощает устройство арифметического блока ЭВМ.
Прямой код. Прямой код двоичного целого числа совпадает по изображению с записью самого числа в двоичном виде. Число до полного машинного слова слева дополняется нулями. Значение знакового разряда (крайне левого) для положительных чисел равно 0, а для отрицательных чисел 1.
Обратный код. Обратный код для положительного числа совпадает с прямым кодом. Для отрицательного числа все цифры числа инвертируются (заменяются на противоположные - 1 на 0, 0 на 1), кроме знакового разряда.
Дополнительный код. Дополнительный код положительного числа совпадает с прямым кодом. Для отрицательного числа дополнительный код образуется путем получения обратного кода и добавлением к младшему разряду единицы. Пример (для наглядности выделен знаковый разряд):
Число +1101: прямой код обратный код дополнительный код
0|0001101 0|0001101 0|0001101
Число –1101: прямой код обратный код дополнительный код
1|0001101 1|1110010 1|1110011
При сложении чисел в дополнительном коде единица переноса, которая может возникнуть в знаковом разряде, отбрасывается. При сложении чисел в обратном коде единица переноса в знаковом разряде прибавляется к младшему разряду суммы кодов.
Если результат арифметических действий является кодом отрицательного числа, необходимо преобразовать его в прямой код. При этом обратный код преобразуется в прямой заменой цифр во всех разрядах, кроме знакового, на противоположные. Дополнительный код преобразуется в прямой так же, как и обратный, с последующим прибавлением единицы к младшему разряду.
Пример. Сложить X и Y в обратном и дополнительном кодах.
1) X= 111, Y= –11;
Сначала воспользуемся правилами двоичной арифметики: X–Y= 100
Воспользуемся кодами:
Прямой код | Сложение в обратном коде | Сложение в дополнительном коде |
Xпр=0|0000111 Yпр=1|0000011 | Xобр = 0|0000111 Yобр = 1|1111100 1 0|0000011 +1 (X+Y)обр= 0|0000100 | Xдоп = 0|0000111 Yдоп = 1|1111101 1) 0|0000100 (X+Y)доп= 0|0000100 |
Так как результат сложения является кодом положительного числа (знак 0), то (X+Y)обр = (X+Y)доп = (X+Y)пр .
2) X= –101, Y= –11;
Сначала сложим числа по обычным правилами: X –Y = –1011;
Далее сложим числа, используя коды
Прямой код | Сложение в обратном коде | Сложение в дополнительном коде |
Xпр=1|0000101 Yпр=1|0000110 | Xобр = 1|1111010 Yобр = 1|1111001 1 1|1110011 +1 (X+Y)обр= 1|1110100 | Xдоп= 1|1111011 Yдоп= 1|1111010 1) 1|1110101 (X+Y)доп= 1|1110101 |
Так как сумма является кодом отрицательного числа (знак 1) то необходимо перевести результаты в прямой код:
1) из обратного кода (X+Y)обр=1|1110100
(X+Y)пр=1|0001011;2) из дополнительного кода (X+Y)доп = 1|1110101
(X+Y)пр = 1|0001011.Таким образом, X+Y= –1011 и полученный результат совпадает с обычной записью.
Задание
Контрольные вопросы