Форма с плавающей точкой

Арифметические операции

· Сложение и вычитание: сначала производится выравнивание порядков (меньший по модулю порядок числа увеличивается до величины большего, а мантисса уменьшается в такое же количество порядков), а затем происходит сложение и вычитание мантисс.

· Умножение: порядки складываются, мантиссы перемножаются.

· Деление: из порядка делимого вычитается порядок делителя, а мантисса делится на мантиссу делителя.

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

Стандарт IEEE 754

IEEE 754 — широко распространённый стандарт, описывающий формат представления чисел с плавающей точкой. Используется в программных и аппаратных реализациях арифметических. Форматы стандарта:

· Число половинной точности (разрядная сетка 2 байта)

· Число одинарной точности (разрядная сетка 4 байта)

· Число двойной точности (разрядная сетка 8 байт)

· Число четверной точности (разрядная сетка 16 байт)

Представление мантиссы

В записи числа используется нормализованная мантисса. Но реализация нормализации отличается от общей идеи. Дело в том, что в традиционном нормализованном числе единица в старшем бите мантиссы есть всегда. Следовательно, ее можно не сохранять, но «подразумевать». Поэтому стандарт определяет мантиссу следующим образом: она состоит из неявного бита, который всегда равен 1, двоичной точки и остальных разрядов. Получается, что мантисса охватывает диапазон чисел [1, 2). Мантисса представляется в прямом коде.

При выполнении арифметических операций с мантиссами не забывать про мнимые единицы!

Представление порядка

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

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

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

Ограничения точности для целых чисел

· Целые между 0 и 2047 представляются точно

· Целые между 2048 и 4095 округляются вниз до кратного 2 (четному числу)

· Целые между 4096 и 8191 округляются вниз до кратного 4

· Целые между 8192 и 16383 округляются вниз до кратного 8

· Целые между 16384 и 32767 округляются вниз до кратного 16

· Целые между 32768 и 65535 округляются вниз до кратного 32

Почему это происходит? Пусть дано число 500310=10011100010112=011001001110001011. Последние две цифры мантиссы оказались за пределами разрядной сетки. При обратном переводе в десятичную систему получим число 5000 – ближайшее округленное до кратного числу 4.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: