Мегаобучалка Главная | О нас | Обратная связь


Прямые, обратные и дополнительные коды чисел с фиксированной запятой



2019-11-13 218 Обсуждений (0)
Прямые, обратные и дополнительные коды чисел с фиксированной запятой 0.00 из 5.00 0 оценок




ЭВМ выполняет арифметические операции над числами с фиксированной запятой в машинных кодах. Простейшим машинным кодом является прямой код.

Прямой код числа Х аналогичен двоичному коду, но число его разрядов строго определено и положение двоичной точки в самом коде никак не указано.

Прямые коды чисел просты, но плохо приспособлены для выполнения операций алгебраического сложения и вычитания чисел. Проще и быстрее выполняются операции алгебраического суммирования, вычитания и деления в дополнительных или обратных кодах.

Дополнительный код двоичного числа Х, представленного в n-разрядной сетке, определяется как

где Хгр – величина, равная весу разряда, следующего за старшим разрядом используемой разрядной сетки. Для правильных дробей Хгр=2, для целых чисел Хгр=2n.

Таким образом, дополнительный код положительного числа совпадает с прямым кодом, а дополнительный код отрицательного числа получается как дополнение до граничного числа.

Обратный код двоичного числа Х, представленного в n-разрядной сетке, определяется как

где Хmax – величина наибольшего числа без знака, размещающегося в n‑разрядной сетке. Для правильных дробей Хmax=2–2n+1, для целых чисел Хmax=2n–1.

Граничное значение Хгротличается от максимального зна­чения Хmaxна одну единицу младшего разряда (мл. р.):

Хгр = Хmax +1 мл. р.

Для положительных чисел прямой, обратный и дополнительный коды совпадают.

В случае отрицательных чисел дополнительный и обратный коды связаны между собой соотношением:

Хдоп = Хобр +1 мл. р.

 

Правило представления двоичного числа в обратном коде:

1) представить двоичное число в прямом коде в n-разрядном формате. Если число положительное, то его прямой и обратный коды совпадают и больше ника­ких преобразований делать не надо;

2) если число отрицательное, то в старшем (знаковом) разряде надо оставить 1, а в цифровых разрядах все цифры изменить на инверсные, то есть вместо 0 записать 1 и вместо 1 записать 0.

Правило представления двоичного числа в дополнительном коде:

1) представить двоичное число в прямом коде в n-разрядном формате. Если число положительное, то на этом представление числа и заканчивается, так как прямой, обратный и дополнительный коды в этом случае совпадают;

2) если число отрицательное, то перейти от его прямого кода к обратному;

3) прибавить к обратному коду отрицательного числа единицу младшего разряда.

Правило преобразования дополнительного кода в прямой код:

1) если в старшем (знаковом) разряде стоит 0, то число положительное и прямой код совпадает с дополнительным;

2) если в старшем разряде стоит 1, то число отрицательное, поэтому из до­полнительного кода числа надо вычесть 1 младшего разряда с целью получения обратного кода числа, затем заменить все 0 на 1 и 1 на 0 в цифровых разрядах об­ратного кода, а в знаковом разряде оставить 1.

Прямой код из дополнительного кода отрицательного числа можно получить и по-другому: в знаковом разряде оставить 1, все цифровые разряды инвертировать и к полученному проме­жуточному результату прибавить единицу младшего разряда. Дополнительные и обратные коды чисел с фиксированной запятой (точкой) упрощают и ускоряют выполнение арифметических операций в ЭВМ.

Пример 1. Представить в 8-разрядном формате прямые, обратные и дополнительные коды целых двоичных чисел: Х1 = 1011; Х2 = –1011; Х3 = 11 0110; Х4 = –11 0110. Найти десятичные эквиваленты заданных чисел.

Решение

Х1 = 1011(2) = 0000 1011(пр)(обр)(доп) = 11(10);

Х2 = –1011(2) = 1000 1011(пр) = 1111 0100(обр) = 1111 0101(доп) = –11(10);

Х3 = 11 0110(2) = 0011 0110(пр)(обр)(доп) = 54(10);

Х4 = –11 0110(2) = 1011 0110(пр) = 11001001(обр) = 11001010(доп) = –54(10).

Пример 2. Представить в 8-разрядном формате прямые, обратные и дополнительные коды дробных двоичных чисел, найти их десятичные эквиваленты: Х1 = –0,11; Х2 = –0,1101; Х3 = 0,0101; Х4 = 0,10101.

Решение

Х1 = –0,11(2) = 11100000(пр) = 10011111(обр) = 10100000(доп) = – (0,5+0,25) = =–0,75;

Х2 = –0,1101(2) =11101000(пр) = 10010111(обр) = 10011000(доп) =

=–(0,5+0,25+0,0625) = –0,8125;

Х3 = 0,0101(2) = 00101000(пр)(обр)(доп) = 0,3125(10);

Х4 = 0,10101(2) =01010100(пр)(обр)(доп) = 0,65625(10).

Пример 3. Числа представлены как целые в дополнительных кодах: Х1 =10111101(доп);  Х2 = 00101010(доп). Найти десятичные эквиваленты.

Решение

Необходимо найти прямые коды чисел, после чего перевести их в десятичные числа.

Число  Х1 отрицательное, следовательно, необходимо перевести его из дополнительного кода в обратный вычитанием одной единицы младшего разряда, затем в прямой код инверсией всех цифровых разрядов и далее в отрицательное двоичное число.

Х1 =10111101(доп) = 10111100(обр) = 11000011(пр) = –1000011(2) = –67(10).

Число  Х2 положительное, следовательно, его прямой код совпадает с дополнительным кодом:

Х2 = 00101010(доп) = 101010(пр) = 2+8+32 = 42(10).




2019-11-13 218 Обсуждений (0)
Прямые, обратные и дополнительные коды чисел с фиксированной запятой 0.00 из 5.00 0 оценок









Обсуждение в статье: Прямые, обратные и дополнительные коды чисел с фиксированной запятой

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как распознать напряжение: Говоря о мышечном напряжении, мы в первую очередь имеем в виду мускулы, прикрепленные к костям ...
Как построить свою речь (словесное оформление): При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (218)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.006 сек.)