![]() | |
НПО Системы Безопасности (499)340-94-73 График работы: ПН-ПТ: 10:00-19:00 СБ-ВС: выходной ![]() ![]() |
Главная » Периодика » Безопасность 0 ... 80818283848586 ... 101 тельных чисел. Проводя аналогичные рассуждения, можно получить правила сложения для двух остальных случаев. Эти правила имеют следующий вид. При суммировании двух слагаемых с разными знаками, из которых положительное слагаемое больше отрицательного, необходимо после нахождения суммы инвертировать ее, прибавить поправку + 6 в те разряды, из которых переноса не возникло, и инвертировать полученный результат. При суммировании двух отрицательных чисел необходимо предварительно инвертировать их, найти сумму инвертированных слагаемых, прибавить поправку -Ь 6 ко всем тетрадам найденной суммы, инвертировать полученную сумму и прибавить поправку + 6 в те тетрады, «откуда не возникло переноса. Обоснование этих правил суммирования предоставляется читателю. Пример 5.4. Используя обратный код, найти в коде 8421 сумму чисел (л;),о=-б07 и <;;)io = 217. <->2Ло = 11-1001 1111 1000 Ыздо = 00.0010 0001 0111 11.1100 ОООО 1111 00.0000 ОНО ОООО поправка 11.1100 ОНО 1111 Окончательный ответ (л:= - 390. Пример 5.5. Найти в обратном коде прямого замещения сумму чисел {xo = 406 и (;;),о = - 207. <А]0 =00.0100 ОООО ОНО . - . <J)2iio = 11-1101 1111 1000 + 100.0001 1111 1110 00.0001 1111 1111 п.II10 оооо оооо инвертирование • 00.0000 оно оно поправка 11.1110 ОНО ОНО 00.0001 1001 1001 инвертирование Окончательный ответ (х-(->),о= 199. пример 5.6. Найти в обратном коде прямого замещения сумму чисел (jc)io = - 45 и {y)io = - 548. <а;>210 00-0000 0100 0101 j инвертированное первое слагаемое (yhjw 00.0101 0100 1000 инвертированное второе слагаемое 00.0101 1000 1101 00.0110 ОНО ОНО поправка 00.1011 1111 ООН • • 11.0100 0000 1100 инвертирование 00.0110 ОНО 0000 поправка 11.1010 ОНО 1100 , Окончательный ответ {х +у\ = 593. Вместо обратного кода можно использовать аналог дополнительного кода. В этом случае тетрады для отрицательного числа получаются путем дополнения не до 15, а путем дополнения соответствующего положительного числа до 16. Код прямого замещения использовался в ряде машин в качестве основного машинного кода. Однако, как это вытекает из вышесказанного, код 8421 не слишком удобен из-за сложной логики операции алгебраического сложения и, как следствие этого, сложной логики операции деления. Существуют другие двоично-десятичные коды, дающие более эффективный результат при использовании их для производства машинных операций. Однако у кода прямого замещения есть одно важное свойство, которое используется фактически во " всех машинах, работающих в канонической двоичной системе счисления. Это свойство заключается в том, чо код 8421. является весьма удобным для перевода десятичной записи чисел в двоичную запись этих чисел. При вводе десятичной информации в машину каждая десятичная цифра записывается в виде тетрады кода прямого замещения и перевод в двоичную систему осуществляется из двоично-десятичной записи числа. Этот перевод осуществляется в вычислительных машинах с помощью стандартных программ перевода или с помощью специального устройства перевода, выполняемого в виде схемы. Наиболее распространенная программа такого перевода устроена следующим образом *. Пусть некоторое число в коде прямого замещения имеет запись х = а.а2... %, где а-тетрада, стоящая в i-u разряде десятичной записи. В десятичной системе х = 10" + «210~ + ... + % 10~", а в двоичной системе а; = р,2- + + ... Л- М""-Произведем следующие преобразования 10-1 = 10 + 6 240 = 2-*-f 2<-10 10-" = 2*-102 2*. 102 10- = 2-103 Ч2< 2*-10У 2* .2< 2*. 10 2.103 2*. 102 2<-102 2*102 j 10-" = 2<-10» " ((•• ( 2* " 1) 24 + ••) • 24 + 24.10«-1) 2*.10« Если полученные выражения подставить в выраже-- ние X в виде десятичного разложения и привести подобные дроби,-то, беря для наглядности « = 9, получим ±2 3.28 10* Л + 2(. 3.228 10» * Для простоты мы рассматриваем только перевод правиль-Hwx дробей. 0 ... 80818283848586 ... 101 |