Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Вычисление порядка и смещенного порядка



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

В базовых форматах стандарта IEEE 754 (раздел 5.3) отношение (6-16) справедливо, если число нормализованное и порядок не выходит за пределы интервала допустимых значений. Если число ненормализованное с минимальным порядком, смещенный порядок

(6-17)

В табл.6.2 приведен прямой, обратный, дополнительный и смещенные коды порядка E при длине поля порядка 8 бит.

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

Например, из табл.6.2 следует, что дополнительный код E отличается от смещенного при лишь содержимым разряда знака. Из этого следует, что при их взаимном преобразовании достаточно инвертировать код в старшем разряде.

При преобразовании прямого или обратного кода в смещенный при достаточно выполнять их преобразования в дополнительный код (раздел 3.2.1) и инвертировать разряд знака результата. При обратном преобразовании инвертировать старший разряд и полученный дополнительный код преобразовать в прямой или дополнительный.

Таблица 6.2

Порядок E Прямой код Обратный код Смещенный bias =127 Дополн. код Смещенный bias =128
+127 +126 +125 … +3 +2 +1 +0 –0 –1 –2 –3 … –125 –126 –127 01111111 01111110 01111101   00000011 00000010 00000001 00000000 10000000 10000001 10000010 10000011   11111101 11111110 11111111 01111111 01111110 01111101   00000011 00000010 00000001 00000000 11111111 11111110 11111101 11111100   10000010 10000001 10000000 11111110 11111101 11111100   10000010 10000001 10000000 01111111 01111111 01111110 01111101 01111100   00000010 00000001 00000000 01111111 01111110 01111101   00000011 00000010 00000001 00000000 00000000 11111111 11111110 11111101   10000011 10000010 10000001 11111111 11111110 11111101   10000011 10000010 10000001 10000000 10000000 01111111 01111110 01111101   00000011 00000010 00000001

Для преобразования смещенного кода при в дополнительный код достаточно к смещенному коду прибавить константу , отбрасывая перенос из старшего разряда. При обратном преобразовании достаточно из дополнительного кода вычесть константу , отбрасывая заем из старшего разряда, или прибавить к дополнительному коду константу , отбрасывая перенос из старшего разряда.

Для преобразования смещенного кода при в прямой код достаточно, если в старшем разряде смещенного кода 0, инвертировать все его разряды, иначе прибавить константу , отбрасывая перенос из старшего разряда. При обратном преобразовании, если код знака 1, инвертировать все разряды, включая знак, иначе прибавить константу , отбрасывая перенос из старшего разряда.

Безусловно, существует множество иных вариантов преобразования.

При преобразовании порядка E в смещенный порядок в формате стандарта IEEE 754 необходимо учитывать, что прямой код минимально допустимого порядка , и если мантисса нормализована, он преобразуется в смещенный порядок . Если мантисса ненормализованная, то смещенный порядок, соответствующий , следует принять равным 00…0. При обратном преобразовании смещенному порядку ненормализованного числа соответствует минимальный порядок E = 1|11…10. Кроме того, необходимо учитывать особенности представления числа равного нулю.





Дата публикования: 2014-12-11; Прочитано: 886 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...