Читайте также:
|
|
Лабораторная работа 4. Двоичная арифметика
Основным недостатком использования двоичной системы счисления является необходимость перевода исходных числовых данных из десятичной системы счисления в двоичную, а результатов решения - из двоичной системы счисления в десятичную. Операции, связанные с переводами чисел в двоичную систему счисления и обратно, выполняются ЭВМ по специальным подпрограммам с использованием вспомогательной двоично-десятичной системы счисления. Все арифметические операции с двоичными числами сводятся к операции сложения и сдвига разрядов.
При этом числа представляются в прямом, обратном или дополнительном кодах.
Прямым кодом числа называется число, представленное в двоичном виде в разрядной сетке.
Обратный код получается инвертированием прямого кода числа, т. е. заменой нулей на единицы, а единицы на нули всех разрядов, кроме знакового.
Дополнительный код получаетсяиз обратного прибавлением единицы.
Сложение двоичных чисел
Сложение выполняется, начиная с младшего разряда, по правилам:
0 + 0 = 0 |
0 + 1 = 1 |
1 + 0 = 1 |
1 + 1 = 10 |
При сложении трёх и более двоичных чисел необходимо внимательно следить за образующимися при сложении переносами в старшие разряды, поскольку эти единицы могут переходить не только в соседние старшие разряды, но и в более удалённые.
Пример: Вычислить сумму А+В, если А=60 В=25
Переведем оба числа в двоичную систему счисления и получим прямые коды для них. Для наглядности и так как числа небольшие возьмем 8-ми разрядные сетки.
6010= 1111002
2510= 110012
1 1 | ||||
+ | 0 1 1 1 1 0 0 | Прямой код числа 60 | ||
0 0 1 1 0 0 1 | Прямой код числа 25 | |||
1 0 1 0 1 0 1 | Прямой код результата |
Результат положителен, переведем его в 10-ю систему:
1 0 1 0 1 0 1(2) =1*26 +0*25 +1*24 + 0*23 +1*22 +0*21 +1*20= 64+16+4+1=85
6 5 4 3 2 1 0
Вычисление разности.
В большинстве компьютеров операция вычитания не используется. Вместо нее производится сложение обратных или дополнительных кодов уменьшаемого и вычитаемого. Это позволяет существенно упростить конструкцию арифметическо-логического устройства.
Рассмотрим пример: А-В= 988,15 – 547,58.
Данный пример можно представить, как сложение двух чисел: положительного А=988,15 и отрицательного В=-547,58. В полученном выражении В – отрицательное и по абсолютной величине меньше чем А.
Сложение обратных кодов.
В этом случае поступают следующим образом.
Отрицательное число В переводится из прямого в обратный код и складывается с числом А. После сложения в знаковом разряде получаемого числа появляется единица, которая переносится в младший разряд числа и складывается.
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1. 1 0 0 1 0 1 0 | ||
+ | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0. 0 1 1 0 1 0 1 | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 1 1 0 0. 0 0 1 0 0 1 1 | ||
+ | 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0. 1 0 0 1 0 0 0 | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 1 0 0 0. 1 0 0 1 0 0 1 |
Впр
Воб
Апр
Сложение дополнительных кодов.
Число В переводится в дополнительный код, который получается путем образования обратного кода с последующим прибавлением единицы к его младшему разряду.
Число В в обратном, дополнительном коде:
0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 1 1. 1 0 0 1 0 1 0 | Впр | ||
+ | 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0. 0 1 1 0 1 0 1 | Воб | |
1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 1 0 1 1 1 0 0. 0 1 1 0 1 1 0 | ВДоп |
После этого вычисляется А+ВДоп. Получаемая в знаковом разряде дополнительная единица отбрасывается:
+ | 111111111111110111011100.0110110 | |
000000000000001111011100.0010011 | ||
000000000000000110111000.1001001 | ||
000000000000000110111000.1001001 |
Проверка результата переводом из двоичной системы счисления в десятеричную систему счисления.
А-В=988,15-547,58=440,57
Перевод числа с помощью схемы Горнера:
1 1 0 1 1 1 0 0 0,1 0 0 1 0 0 1(2) =1*28+1*27+1*25+1*24+1*23+1*2-1+1*2-4+1*2-7 ≈
8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7
≈440,57
Дата добавления: 2015-08-09; просмотров: 205 | Нарушение авторских прав
<== предыдущая страница | | | следующая страница ==> |
Теоретическая часть. | | | Вычисление -А-В. |