Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Основы схемотехники и вычислительных систем.doc
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
3.08 Mб
Скачать

1.5.3. Представление числовых данных с плавающей запятой

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

Действия над числами в форме с плавающей запятой не требуют масштабирования данных. Это основное достоинство арифметики с плавающей запятой.

Рассмотрим ряд чисел, представленных в разных формах:

Число

Естественная

форма

Нормальная форма

Целая часть

Дробная часть

Мантисса

Масштабный коэффициент

Для основания системы счисления =10

Значащие цифры мантиссы

Порядок

350

+ 350

,0

+ 0,35

 10+3

+ 35

+ 3

-35

– 35

,00

– 0,35

 10+2

– 35

+ 2

0,35

+ 0

,350

+ 0,35

 100

+ 35

0

0,035

+ 0

,035

+ 0,35

 10–1

+ 35

– 1

Здесь представлены четыре числа (три положительных и одно отрицательное) в естественной форме (левая колонка) и нормальной форме (центральная и правая колонки). Все числа имеют одинаковые последовательности значащих (отличных от нуля) цифр, но разные порядки (от сотен до сотых долей).

Естественная форма записи числа соответствует форме представления чисел с фиксированной запятой. Для такого представления важно место запятой. Для представления всех четырех чисел без масштабирования требуется шестиразрядный регистр (три разряда для целой части числа и три – для дробной).

Нормальная форма представляет эти числа в виде нормализованной дроби с "индивидуальным" масштабным коэффициентом.

Например: 350,0 = 0,35  103. В общем случае число А в нормальной форме записывается как: А = m qn, где:

m мантисса - нормализованная дробь,

q основание системы счисления,

n порядок числа.

Нормальная форма представления соответствует форме представления чисел с плавающей запятой. Это полулогарифмическая форма представления чисел. Она предоставляет более широкий диапазон представления чисел при ограниченной разрядности регистров хранения.

Основание системы счисления (q) задается по умолчанию. Для большинства микропроцессоров q=2.

В случае задания основания системы счисления по умолчанию, число 350,0 может быть записано в виде пары чисел: 35 и 3. Первое число – это запись значащих чисел, второе число (порядок числа) можно интерпретировать, как координату запятой. В данном случае место запятой – после третьей позиции цифр числа. Отсюда вытекает и название формы представления чисел – с плавающей запятой.

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

Для упрощения обработки чисел в форме с плавающей запятой используют "сдвинутый" порядок - характеристику. Характеристика – это порядок "сдвинутый" в область положительных значений. Для получения характеристики из порядка в старший разряд порядка прибавляют 1.

Например, пусть для записи порядка используются три двоичных разряда. С учетом знака в эти разряды можно записать числа в диапазоне от минус 4 до плюс 3:

Порядок

Порядок

в дополнительном коде

Характеристика

(сдвинутый порядок)

–4(10)

1,00(2)

000(2)

–3(10)

1,01(2)

001(2)

–2(10)

1,10(2)

010(2)

–1(10)

1,11(2)

011(2)

0(10)

0,00(2)

100(2)

+1(10)

0,01(2)

101(2)

+2(10)

0,10(2)

110(2)

+3(10)

0,11(2)

111(2)

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

Таким образом, для представления чисел в форме с плавающей запятой требуется регистр с тремя полями для записи знака числа (знака мантиссы), мантиссы и характеристики (порядка со знаком).

Как правило, в ЭВМ отрицательные значения чисел (мантиссы) задаются в прямом коде.

Мантисса – это нормализованная дробь.

По классическому определению, нормализованная дробь - это дробь, у которой первая цифра после запятой отлична от нуля, т.е., для нормализованной дроби должно выполняться условие: m<1

Для двоичной системы счисления нормализованная дробь имеет вид 0,1 а2 а3 и т.д., то есть |m|>1/2.

Первые ЭВМ использовали именно такие мантиссы. Но, при такой записи, целые числа представлялись с погрешностью. Например, число 1 представлялось в виде мантиссы: 0,111111111…11 с нулевым порядком.

.

При этом произведение 22 после переводов исходных чисел из десятичной системы счисления в двоичную и результата – обратно в десятичную ЭВМ выдавала в виде дробного числа: 3,99999.

В современных ЭВМ, например в РС Intel и PDP-11, мантиссу определяют как неправильную дробь, целая часть которой равна 1, т.е. 2>m ≥1.

В этом случае целые числа задаются без погрешностей. Но дело тут не столько в свойствах систем счисления, сколько в методах перевода чисел. Например, число 1 можно задавать без погрешности и при дробной мантиссе: 1 = 0,1(2)  21

В зависимости от требуемой точности представления чисел в ЭВМ используется ряд форматов для хранения и обработки чисел форме с плавающей запятой.

Например, в МП Intel предусмотрены три формата: короткий формат (обычной точности), формат двойной точности и расширенный (вещественный) формат (real).

Два первых формата используются только для хранения данных в памяти. Перед вычислениями числа из этих форматов переводятся в вещественный формат.

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

Короткий формат: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок): – 1 байт и мантисса: – 3 байта. При хранении в памяти первую значащую цифру мантиссы (в старых ЭВМ – единицу после запятой или, в современных ЭВМ, – единицу до запятой) не записывают (задают по умолчанию). В результате этого, короткий формат чисел с плавающей запятой при хранении содержит 32 бита (4 байта).

Формат двойной точности: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок): – 11 бит и мантисса: – 53 бита (включая первую скрытую цифру). Всего, с учетом скрытой цифры мантиссы, – 64 бита (8 байт).

Расширенный (вещественный) формат: знак числа (мантиссы) – 1 бит, характеристика (сдвинутый порядок) – 15 бит, мантисса – 64 бит (8 байт), включая первую цифру мантиссы. Всего – 80 бит (10 байт).

Вопросы для самопроверки

  1. Назовите две основные причины использования двоичной системы счисления в ЭВМ.

  2. Назовите основной способ перевода целых чисел из одной системы счисления в другую.

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

  4. В чем причина использования в машинной арифметике дополнительного и обратного кодов.

  5. Определите асимметрию дополнительного кода.

  6. Назовите особенности и причины использования модифицированного дополнительного кода.

  7. Назовите особенности использования обратного кода (преимущества и недостатки).

  8. Охарактеризуйте форму представления чисел с фиксированной запятой.

  9. Назовите основные преимущества и недостатки использования формы представления чисел с фиксированной запятой для машинной обработки данных.

  10. Охарактеризуйте форму представления чисел с плавающей запятой.

  11. Назовите основные преимущества и недостатки использования формы представления чисел с плавающей запятой для машинной обработки данных.

  12. Каковы параметры форматов данных с фиксированной запятой, которые Вам известны.

  13. Каковы параметры форматов данных с плавающей запятой, которые Вам известны.