Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
AC-Lection-PIC.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
118.27 Кб
Скачать

1.Ххххххх... X

Но если старший бит всегда содержит 1, ее можно не хранить в каж­дом числе с плавающей точкой. Поэтому ради дополнительного бита точности процессор 80287 хранит числа одинарной и двойной точности без старшего бита мантиссы. Следовательно, невозможно иметь число с одинарной или двойной точностью, не являющееся ненормализованным. Если, например, поле мантиссы такого числа содержит биты 0011... 101, то мантисса фактически равна 10011 ... 101.

По ряду причин способ с неявным битом относится только к числам одинарной и двойной точности, но не к числам с расширенной точностью. Во-первых, числа с явным старшим битом обрабатываются несколько быстрее (все числа внутри процессора 80287 представлены в расширенном формате). Во-вторых, число расширенной точности уже имеет достаточ­ную точность.

Поле характеристики. Поле характеристики определяет степень числа 2, на которую нужно умножить мантиссу для получения значения числа с плавающей точкой. В некоторых компьютерах, например IBM 360/370, вместо степе­ней числа 2 применяются степени числа 16. Для процессора 80287 выбра­ны степени числа 2 потому, что они позволяют ввести скрытый бит и обеспечивают максимальную производительность при заданном объеме аппаратных средств.

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

Смещение S определяется как:

S = 2n -1 + m

где m – поправочный коэффициент (он равен +1 для real и -1 для всех остальных типов), n – число бит, отведенных для характеристики.

Так для одинарной точности смещение S = 28-1 - 1 = 127, для двойной точности S = 210-1 – 1 = 1023 , для расширенной точности S = 215-1 – 1 = 16383

Смещенный порядок (характеристика) может быть вычислена с помощью формулы:

P = S+ рa= 2n -1 + m + рa

Если, например, истинный порядок числа с одинарной точностью равен +5, то в поле порядка находится значение 127 + 5 = 132; если истинный порядок равен -5, то в поле порядка будет 127 - 5 = 122.

В формате одинарной точности длина поля порядка 8 бит. Следовательно, наибольший истинный порядок равен 255 - 127 = 128, а наименьший – 0 - 127 = -127. Наиболь­ший и наименьший порядки зарезервированы для обработки "ошибок, поэтому фактически наибольший допустимый истинный порядок равен 127, а наименьший -126. Аналогичные рассуждения относятся к числам с двойной и расширенной точностью.

Пример 2.2.

{Float a;

A=-21.125;}

A10 = – 21.125

A2 = 10101.001 = 0.10101001*25

Мантисса ма = 0.10101001…0

Порядок ра = 510 Р2 =101

Запись числа з порядком:

0  101 1 10101001

Для машинного представления в формате Float выполняем нормализацию мантиссы и за счет этого уменьшаем порядок на 1.

Нормализованная мантисс ма = 1. 0101001…0

Порядок Ра =101 – 1 = 100.

Смещенный порядок Ра = 2n 1 + m + Ра = 128 – 1 + 4 = 13110 = 100000112

В памяти ЭВМ число хранится в четырех байтах как

Адреса битов

7…0 15…8 23.. 16 31...24

А = 000...0 000…0 10101001 11000001,

де 31 – бит знака, 30 – 23 – биты порядка, 22 – 0 – бити мантиси.

Третья форма представления двоичных чисел - двоично-десятичная. Ее появление объясняется следующим. При обработке больших массивов десятичных чисел (например, больших экономических документов) приходится тратить существенное время на перевод этих чисел из десятичной системы счисления в двоичную для последующей обработки и обратно - для вывода результатов. Каждый такой перевод требует выполнения двух - четырех десятков машинных команд. С включением в состав отдельных ЭВМ специальных функциональных блоков или спецпроцессоров десятичной арифметики появляется возможность обрабатывать десятичные числа напрямую, без их преобразования, что сокращает время вычислений. Под представление двочно-десятичного числа отводится 10 байт. 1 байт отводится под знак, при чем для знака отводится 1 бит, а остальные 7 не используются. Само число может хранится в упакованном и неупакованном виде. В неупакованном виде каждая цифра десятичного числа занимает один байт. При этом цифра представляется двоичной тетрадой и записывается в четыре младших бита, старшие биты при этом не используются. В упакованном формате в 1 байте записываются двоичные коды двух десятичных цифр.

Например, A10=3759,

A2-10= 0011 0111 0101 1001.

Представление в ЭВМ в неупакованном формате :

Адреса битов: 1023…0

00000000 0000000 … 00000011 00000111 00000101 00001001

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]