Представление чисел с учетом знака
Цифровые устройства не умеют вычитать, умножать и делить. Они умеют только складывать (таблица истинности полного одноразрядного сумматора). поэтому операцию вычитания сводим к операции сложения разнозначных чисел.
Для представления отрицательного числа под знак отводится один или два разряда с местоположением левее старшего разряда числа. Для записи положительного числа в знаковый разряд записывается ноль ("0"); для отрицательного числа — "1". В значащую часть положительного числа записывают прямой двоичный код, в значащую часть отрицательного — либо обратный, либо дополнительный коды: для представления числа в обратном коде в значащую часть числа необходимо дописать дополнение до числа 2n-1, где n — число разрядов значащей части исходного числа; для представления числа в дополнительном коде в значащую часть числа необходимо дописать дополнение до числа 2n, где n — число разрядов значащей части. Если положительное слагаемое, представленное в образовавшемся коде, после выполнения операции сложения над всеми, в том числе и знаковым, разрядами слагаемых, в знаковом разряде возникает перенос, то этот перенос добавляется к младшему разряду суммы; если отрицательное слагаемое было представлено в дополнительном коде, то после сложения всех разрядов, включая знаковый, в нем возникает перенос, этот перенос игнорируется.
Вывод: структура сумматора ориентирована на работу с отрицательными числами либо в обратном, либо в дополнительных кодах.
Пример:
А + В = 5,12+9,81= 0101,0010 + 0110,0010 0101,0010 1001,1101 Ответ: 1110,1111 В десятичном коде: 14,9375 | А – В = 5,12-9,81= 0101,0010 – 0110,0010: 0 0101,0010 1 0110,0010 1 1 1011,0100 — обратный код суммы Ответ: - 0100,1011 В десятичном коде: -4,6875 |
Умножение. Деление
При умножении двоичных чисел знак произведение определяется логической операцией "исключающее или", а модуль произведения формируется в результате сложения частных произведения, каждая частная произведения есть результат логического умножения первого сомножителя на соответствующий разряд второго сомножителя с учетом его веса.
При делении двоичных чисел знак частного определяется логической операцией "исключающее или". Для определения модуля частного от делимого отделяется число разрядов равное или на один больше числа разрядов делителя. После этого выполняется операция вычитания (суммирования разнозначных чисел). если разность больше ноля, то в разряд частного записывается единица ("1"), если меньше ноля — "0". После этого к положительной разнице добавляется следующий разряд делимого и операция повторяется. Если разница меньше ноля, то она не определяется, а к уменьшаемому добавляется следующий разряд делимого и операция повторяется. Количество последовательно выполняемых операций соответствует требуемой точности определяемого частного.
Пример:
А . В = 5,12 . 9,81: 01010010 . Ответ: 0110010,01001010 В десятичной системе счисления: 50,2890625 | А : В = 6,75/2,25: | |||
делитель и делимое домножили на 4, чтобы избавиться от запятой | ||||
11,0 | ||||
1001 | ||||
Дата добавления: 2018-03-01; просмотров: 481;