Assembler - язык неограниченных возможностей


Типы данных FPU


Числовой процессор может выполнять операции с семью разными типами данных, представленными в таблице 9, — три целых двоичных, один целый десятичный и три типа данных с плавающей запятой.


Таблица 9. Типы данных FPU


Тип данных Бит Количество значащих цифр Пределы
Целое слово 16 4 -32768 — 32767
Короткое целое 32 9 -2*109 — 2*109
Длинное целое 64 18 -9*1018 — 9*1018
Упакованное десятичное 80 18 -99..99 — +99..99 (18 цифр)
Короткое вещественное 32 7 1.18*10-38 — 3.40*1038
Длинное вещественное 64 15—16 2.23*10-308 — 1.79*10308
Расширенное вещественное 80 19 3.37*10-4932 — 1.18*104932


Вещественные числа хранятся, как и все данные, в форме двоичных чисел. Двоичная запись числа с плавающей запятой аналогична десятичной, только позиции справа от запятой соответствуют не делению на 10 в соответствующей степени, а делению на 2. Переведем для примера в двоичный вид число 0,625:

0,625 - 1/2 = 0,125

1/4 больше, чем 0,125

0,125 - 1/8 = 0

Итак, 0,625 = 0,101b. При записи вещественных чисел всегда выполняют нормализацию — умножают число на такую степень двойки, чтобы перед десятичной точкой стояла единица, в нашем случае

0,625 = 0,101b = 1,01b * 2-1

Говорят, что число имеет мантиссу 1,01 и экспоненту -1. Как можно заметить, при использовании этого алгоритма первая цифра мантиссы всегда равна 1, так что ее можно не писать, увеличивая тем самым точность представления числа дополнительно на 1 бит. Кроме того, значение экспоненты хранят не в виде целого со знаком, а в виде суммы с некоторым числом так, чтобы хранить всегда только положительное число и чтобы было легко сравнивать вещественные числа — в большинстве случаев достаточно сравнить экспоненту. Теперь мы можем рассмотреть вещественные форматы IEEE, используемые в процессорах Intel:

  • короткое вещественное: бит 31 — знак мантиссы, биты 30 – 23 — 8-битная экспонента + 127, биты 22 – 0 — 23-битная мантисса без первой цифры;



  • Начало  Назад  Вперед