![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 45464748495051 ... 101 числа. При этом для нечетных чисел содержимое разряда с номером «минус один» равно + 1, и эта единица уничтожает влияние корректирующего слагаемого в соотношении- (2.1), а для четных чисел содержимое разряда с номером «минус один» равно-1, что в совокупности с корректирующим слагаемым дает возможность получения минус единицы. Тогда нуль можно представить как 1,1, ибо, учитывая корректирующее слагаемое, мы получим 1 •1*- 1-г"*-2~ =0. Аналогично число 4, например, представимо в системе Баньковского как 111,1. Для перевода чисел в систему с цифрами {-1,1}, удовлетворяющую соотношению (2.1), необходимо проделать следующее. Если переводимое число является нечетным, то его перевод осуществляется так, как это показано в примере 2.21, а затем в разряд с номером «минус один» записывается цифра + 1. Если переводимое число четно, то оно предварительно увеличивается на единицу, а после этого переводится как нечетное число при условии, что к полученному результату в разряде с номером «минус единица» дописывается цифра - 1. Пример 2.22. Перевести в систему Баньковского число (jc)2= 110110. Так как исходное число является четным, то вместо него осуществляем перевод числа 110111. На основании алгоритма перевода получаем ППГп. Окончательно (.«)2 = 1111111,1. При записи в системе с цифрами {-1,1} дробей можно при п двоичных разрядов после запятой всегда считать (с точностью до единицы младшего разряда), что переводимое число является нечетным. Это позволяет получать для дробей приближенные представления в системе с цифрами {-1,1}. В более удобной форме правило перевода дробей в рассматриваемую систему можно представить следующим образом. Если исходная дробь имеет вид 0,л:,л:2... то после перевода она имеет вид 1,1л:,л:2... х„, где л:=1, если Xi = Q, и Xi=\, если х, = 1. Пример 2.23. Перевести в систему с цифрами {-1,1} двоичную дробь (л;)2 = 0,101. На основании сформулированного правила перевода получаем (л)5- = = 1,1111. проверим полученный результат. Для исходной дроби имеем . х = 1.2-1+ 0-2-.+1.2- = - .- Для кода в системе {-1,1} л: = 1.20 + 1 -2- + 1 -2- + 1-2~ + 1 -2-" = . Ошибка перевода равна одной единице минус четвертого разряда. Представление в системе с цифрами {-1,1} облегчает выполнение операций умножения, деления и извлечения квадратного корня. Это облегчение связано с тем, что если множитель, делитель или подко- * репное выражение рассматривать как числа, представленные в системе с цифрами {-1,1},. то выполнение операций в обычной двоичной системе с дополнительными или обратными кодами чисел становятся весьма удобными для реализации на машине. При этом фактически множитель, делитель или подкоренное выраже- *ние представлены в обычной двоичной системе и лишь интерпретируются как представленные в системе {-1,1}. Для пояснения сказанного рассмотрим более подробно связь между дополнительным кодом обычной двоичной системы и представлением дробей в системе с цифрами {-1,1}. Для этого при записи дополнительного кода в обычной двоичной системе будем перед знаковым разрядом ставить еще один дополнительный разряд, содержимое которого будет противоположно содержимому знакового разряда. Тогда, если число X положительно, то, по определению [л:]д = х, но при добавлении указанного дополнительного разряда [л:]д = 10, XiX2..x„==2 + X. Штрихом здесь отмечено введенное нами специальное представление числа. Если-х отрицательно, то содержи мое дополнительного разряда есть нуль и [л:]д = 2 + х. Итак, в рассматриваемом представлении всегда имеет место соотношение н;=2+х. ; Таким образом, общее правило перевода дробей любого-знака из двоичной системы с цифрами {0,1} в систему с цифрами {-1,1} может выполняться путем перехода к записи дроби в измененном дополнительном коде, заменой каждой цифры нуль в этом представлении на минус единицу и сдвига вправо полученного результата на один разряд. Полностью аналогичные рассуждения можно повторить и для случая обратного кода. Представления чисел в двоичной системе можно рассматривать как бесконечные. Если рассматриваемые дроби используют для своей записи п разрядов после запятой, то в случае дополнительного кода или в случае измененного - представления положительного числа в обратном коде необходимо считать, что все цифры, стоящие справа от п-то разряда после запятой, являются нулями. Это означает, что после перехода в систему {-1,1} все цифры записи, стоящие справа от {п + 1)-го разряда после запятой, равны минус единице. Но - = - 2-("+>. По- к=п+% этому такой бесконечный хвост из минус единиц эквивалентен добавлению цифры 1 в (/г + 1)-й разряд записи числа. Для отрицательного числа, записанного в .обратном коде, получается бесконечный . хвост из единиц, который эквивалентен прибавлению единицы в {п-{- 1)-й разряд представления данного числа в системе {-1,1}. Окончательно Хшзк Ху...Хц - 2 если [л:]д - XsHлзнл;... знЯн1 ...Х„ + 2~"-"\ если Мо = зн ХзпХ ... Хп, (2.2) где ~ f 1, если Xi = 1; 1 1, если л;; = 0. Рассмотрим использование системы {-1,1} для производства умножения в дополнительном коде. . Пусть множитель в дополнительном коде имеет вид \у\яУуУУ1-Уп- Так как jj; = JshhJi -2~""* то х-угиУэкУ1...Уп - ~-х. Процесс умножения начинается с посылки кода числа - х, которая эквивалентна (из-за последующего (п + 1)-го сдвига час- 0 ... 45464748495051 ... 101 |