Арифметические операции
· Сложение и вычитание: сначала производится выравнивание порядков (меньший по модулю порядок числа увеличивается до величины большего, а мантисса уменьшается в такое же количество порядков), а затем происходит сложение и вычитание мантисс.
· Умножение: порядки складываются, мантиссы перемножаются.
· Деление: из порядка делимого вычитается порядок делителя, а мантисса делится на мантиссу делителя.
В конце арифметических действий производится нормализация результата.
Стандарт 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.