![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 39404142434445 ... 101 Теорема 2.2. При нахождении главной части произведения двоичных чисел, заданных в обратном коде, можно использовать алюритм, указанный в теореме 2.1 для дополнительных кодов. Доказательство. Справедливость этого утверждения вытека-ет из того, что сумматор, исполь-. Зуемый при умножении обратных кодов, является циклическим сумматором. Поэтому для отрицательного множителя мы имеем" Ыо = 1--У„ = 2+.;/-2- Отсюда • J/ = 0,j;2...„-U+2-« .. = . xy{S,y,y2...V-x2-<x. Последнее слагаемое можно отбросить, так как нас интересуют только первые п разрядов произведения. Тогда мы приходим к схеме умножения, совпадающей со схемой йз теоремы 2.1. Пример 2.14. Найти главную часть произведения-обратных кодов чисел {х) = - 0,1101 и {у) = - 0,0110. Переходим к модифицированным обратным кодам хяу. Н„,,= 11.0010, Ы„,, = 11.1001,Ы„„ = 00.1001, =00.1101 , . , 000000 + 110010 110010 1110010 11110010 Ш111110010 110010 1110000010 .J10001010 Й1110001010 ..001101 10001011010 0001101010 1001 умножение на младшую цифру множителя модифицированный .сдвиг " модифицированный сдвиг модифицированный сдвиг " умножение на старшую цифру множителя модифицированный сдвиг прибавление . Главная часть <JCV>2== 0,0110. • 9* Произведения ,Ia:j/J-= 00.0110, или Нахождение 2/г-разрядного произведения в обратном коде несколько сложнее. В этом случае необходимо еще учесть поправку 2~"-х, которую мы не учитывали при определении главной части произведения, и учесть влияние циклической передачи единицы из знакового разряда в п-й (а не 2/г-й) разряд сумма- тора. Если сумматор имеет 2п разрядов, то единственное изменение, которое надо внести в схему метода нахождения главной части произведения, это добавление к главной части поправки вида 2~"-л:. В примерах 2.12, 2.13 и 2.14 мы рассматривали модифицированные коды. Конечно, ничего не изменится, если вместо модифицированных кодов рассма- "тривать обычные коды. При реализации операции умножения, как правило, приходится осуществлять округление результата до числа разрядов, равного разрядной сетке машины. Как уже указывалось в § 1.8, именно эта причина резко снижает точность вычислений, осуществляемых на современных вычислительных машинах. * Операцию округления произведения можно производить двумя способами. При первом способе все вычисления до получения результата идут без округления. Само округление происходит по результату, имеющему 2л разрядов. Этот способ хорош "с точки зрения повышения точности результатов расчета, но требует много времени и оборудования для своей реализации. При втором способе округление происходит в процессе вычислений. Каждый про- -межуточный результат в сумматоре округляется до числа, имеющего п-{- г разрядов. Такой способ умножения дает экономию во времени и в оборудовании. Однако при таком подходе к умножению появляется дополнительный источник погрешности. При умножении двоичных чисел x = IiKxj)]r2- и y = S [(л)Ь-2-* . результат умножения л: на [(j;)]ft-2~*, где k<r, не содериит ненулевых цифр правее (я + г)-го разряда. Поэтому округление не меняет этого числа. Для случая й>г выражение х Hyj)]k-2~ можно представить в следующем виде: n+r-k . . где первая часть суммы-при округлении остается неизменной, а вторая отбрасывается. При этом, если 5] [(У;)].-[С;)]/-2-(*+><}2-(«+>, то операция округления на этом заканчивается. В противном слу- . чае к оставшейся величине прибавляется 2"""*". Тогда погрешность произведения л: [(jy)]ft2~* при kr выразится следующим образом: -. [(j;)]ft-[(-«/)]„+, ,+l-2-(«*>- S [(У;)]й[(х,)]г.2-(*+\- Суммарная погрешность по всем разрядам множителя имеет вид = i [(.)].[(х,)],,, ,,..2-(--)- . < • - S S [(л:;)]г[(3;)Ь-2-(*+>. . Пусть Z = « + r-;fe + m. Тогда Д = 2""+8, где . s= S [(х,)]„,,,.[0;)].-2-- S S ад„, ,.,да]..2Ч Максимальная и минимальная величины погрешности Д при заданных я и г зависят от максимального и минимального значений 8; Эти значения были найдены В. М. Храпченкои оказались равными п - г 1 1 шах В 1 1/1N"- Отсюда 0 ... 39404142434445 ... 101 |