Данные с плавающей точкой

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

Intel *86

В этих процессорах нет команд, реализующих арифметические операции над вещественными числами. Это связано с тем, что аппаратная реализация этих операций - вещь дорогая, а при создании во главу угла всегда ставили дешевизну; поэтому, чтобы сократить стоимость ПК, в его систему команд и не включают команды вещественной арифметики.

Как же тогда работать с вещественными числами? Возможны два решения данной проблемы.

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

Во-вторых, к ПК можно присоединить специальное устройство - арифметический сопроцессор, который умеет выполнять арифметические операции над вещественными числами. Центральный процессор взаимодействует с этим сопроцессором по следующему сценарию: когда надо выполнить вещественную операцию, центральный процессор посылает сигнал сопроцессору и передает ему соответствующие операнды (в ПК есть специальная команда для этого); сопроцессор выполняет указанную операцию, записывает результат в определенное место и возвращает управлению центральному процессору, который после этого продолжает свою работу.

Вещественное число в компьютерах Intel занимает от 4 до 10 смежных байт и имеет следующую структуру в памяти ПК:

Данные с плавающей точкой - student2.ru

Здесь s - знаковый разряд числа; e - экспоненциальная часть (содержит двоичный порядок); m - мантисса числа. Если переписать число, записанное в памяти, то получим следующее число

Данные с плавающей точкой - student2.ru

а при переводе его из двоичного в десятичное получим обычную десятичную дробь.

Рассмотрим по порядку все типы вещественных чисел на этих компьютерах. В таблице указан размер полей этих структур:

Данные с плавающей точкой - student2.ru

Наши рекомендации