Дробные числа с фиксированной точкой

В дробном (fractional) ФЗ-формате предполагается, что логическая (двоичная) точка расположена либо справа от самого старшего бита (для знаковых чисел), либо слева от самого старшего бита (для беззнаковых чисел).

Для операций ЦОС наиболее предпочтительно использование знакового представления дробных чисел в формате с фиксированной точкой по следующим причинам:

- дробное представление соответствует доли значения отсчета относительно максимально возможного значения исходного (аналогового) сигнала;

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

Поэтому в системах ЦОС, как правило, используется нормирование обрабатываемых данных таким образом, чтобы все арифметические операции выполнялись с числами, по модулю меньшими единицы.

Бит              
Вес -20 2-1 2-2 2-13 2-14 2-15
  Знаковый бит            

Знаковое дробное

Бит              
Вес 2-1 2-2 2-3 2-14 2-15 2-16
               

Беззнаковое дробное

Арифметические инструкции большинства ЦСП оптимизированы для операций со знаковыми дробными числами в формате Qn, где n +1 – разрядность слова процессора. Например, запись формата Q7 обозначает, что в числе содержится 1 знаковый бит (самый левый, старший бит) и 7 значащих бит. Предполагается, что фиксированная точка расположена между знаковым и значащими битами.

В более общем случае может использоваться формат, обозначаемый M.N. Здесь M обозначает количество разрядов целой части числа (включая знак), а N – число разрядов дробной части (формат Qn эквивалентен формату 1.N). Данный формат позволяет в общем случае представлять ФЗ-числа больше единицы, например 3.245.

Если процессор поддерживает обработку ФЗ-данных только целочисленных или только дробных, что перевод между двумя типами форматов можно осуществить исходя из соответствия значения 1 в дробном формате целому числу 2 n (и то и другое число не может быть прдставлено в ФЗ-формате разрядноти n). Например, для знаковых и беззнаковых 16-разрядных чисел можно использовать следующие соотношения (a-дробное число, A-целое число):

беззнаковые 1 – 65536 aA
знаковые 1-32768 a-A

Достоинствами формата с фиксированной запятой являются равномерность квантования и простота аппаратной реализации арифметических операций. Главный недостаток – ограниченный динамический диапазон. ФЗ-числа не могут использоваться для обработки и очень больших и очень малых чисел одновременно (если нам надо обрабатывать только очень большие или только очень малые числа, то мы можем хранить их порядки отдельно и работать как с обычными числами – это несколько усложняет код, но во многих приложениях ЦОС позволяет добиться требуемой точности обработки, не прибегая к аппаратной ПЗ-арифметике).


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



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