Cтраница 1
![]() |
Суммирующее устройство последовательного действия со статическими регистрами.| Суммирующее устройство последовательного действия с динамическими регистрами. [1] |
Сложение отрицательных чисел в суммирующих устройствах последовательного действия наиболее целесообразно производить в дополнительном коде. [2]
Сложение отрицательного числа с наибольшим возможным числом для данной машины сводится к инвертированию отрицательного числа - вместо единиц записываются нули, а вместо нулей - единицы. [3]
![]() |
Блок-схема комбинационного сумматора последовательного действия с циклическим переносом. [4] |
Сложение отрицательных чисел в обратном коде требует наличия циклической передачи единицы переноса из старшего разряда в младший, что может быть сделано только путем добавления к данному сумматору специального запоминающего устройства на одно число. Это устройство должно сохранять полученное при первом суммировании значение суммы и вновь подавать его в сумматор для повторного сложения с единицей циклического переноса. Наличие схемы для хранения суммы ( схемы задержки на ( я 1) - й разряд) превращает, по существу, сумматор комбинационного типа в накапливающий сумматор. [5]
При сложении отрицательных чисел в дополнительном коде - перенос из самого старшего разряда в самый младший. [6]
Так как в таком сумматоре последовательного действия невозможно осуществить циклический перенос, то он используется либо для сложения положительных чисел, либо для сложения отрицательных чисел, заданных в дополнительном коде; при этом циклическая передача не нужна и импульс у будет равняться нулю, а импульс vn будет отбрасываться. [7]
При сложении положительных чисел сигнал переполнения возникает, если есть перенос в знаковый разряд. При сложении отрицательных чисел, представленных в дополнительном коде, сигнал переполнения возникает, если есть перенос из знакового разряда, а в разряд знака переноса нет. [8]
Иными словами, перенос в знаковый разряд отсутствует в том и только в том случае, когда имеет место переполнение разрядной сетки. В этом случае при циклическом сложении в знаковом разряде возникнет н у л ь, то есть, иначе говоря, сложение отрицательных чисел приведет к положительному результату. В случае же отсутствия переполнения разрядной сетки циклическое сложение приведет, как следует из проведенных рассуждений, к правильному результату. Следовательно, теорема 2.1 оказывается справедливой и при сложении двух отрицательных чисел. [9]
Результат сложения двух положительных или двух отрицательных чисел по абсолютной величине может превысить допустимый диапазон, что приведет к переполнению разрядной сетки, а следовательно, к искажению результата, поэтому они недопустимы. Одним из признаков переполнения разрядной сетки машины может служить появление в разряде знаков результата единицы при сложении положительных чисел или цифры нуль при сложении отрицательных чисел. Такой способ выявления переполнения неудобен тем, что требует запоминания кодов знаков слагаемых. [10]
Как уже указывалось выше, при выполнении операции сложения чисел с одинаковыми знаками может произойти переполнение разрядной сетки, когда для представления результата требуется большее количество разрядов, чем для представления чисел. Поскольку знаковые разряды складываются с учетом переноса из старшего разряда, то это явление может привести к неправильному результату. Независимо от кода для представления отрицательных чисел ( обратный или дополнительный) переполнение разрядной сетки происходит всегда, если только при сложении положительных чисел возникает перенос в знаковый разряд, а при сложении отрицательных чисел такой перенос отсутствует. [11]
Одно из слагаемых хранится в динамическом регистре, другое последовательно, разряд за разрядом, подается на вход одноразрядного С. Сложение отрицательных чисел производится путем представления их в обратном или дополнительном коде. [12]
В сложении участвуют все 32 бита каждого операнда. Если переносы из знакового бита и старшего бита целой части числа одновременно либо отсутствуют, либо присутствуют, то это говорит о том, что сложение выполнено нормально. Если перенос делается только из какого-либо одного из указанных битов, возникает переполнение. При переполнении полученный знаковый бит суммы остается без изменения. Поэтому при переполнении, возникшем в результате сложения положительных чисел, получается сумма с отрицательным знаком, а при переполнении, возникшем в результате сложения отрицательных чисел, - с положительным знаком. [13]
В сложении участвуют все 32 бита каждого операнда. Если переносы из знакового бита и старшего бита целой части числа одновременно либо отсутствуют, либо присутствуют, то это говорит о том, что сложение выполнено нормально. Если перенос делается только из какого-либо одного из указанных битов, возникает переполнение. При переполнении полученный знаковый бит суммы остается без изменения. Поэтому при переполнении, возникшем в результате сложения положительных чисел, получается сумма с отрицательным знаком, а при переполнении, возникшем в результате сложения отрицательных чисел - с положительным знаком. Если бит маски переполнения с фиксированной точкой равен 1, переполнение вызывает программное прерывание. [14]
Сумматор - основной узел арифметического устройства цифровой вычислительной машины, в котором осуществляется сложение многоразрядных чисел. Одно из слагаемых хранится в динамическом регистре, другое последовательно, разряд за разрядом, подается на вход одноразрядного С. Сложение отрицательных чисел производится путем представления их в обратном или дополнительном коде. [15]