При представлении чисел с конечной точностью не каждое число в доступном диапазоне может быть представлено точно. Результат любой операции над числом с фиксированной точкой обычно сохраняется в регистре, который длиннее исходного формата числа. Когда результат переводится обратно в исходный формат, используется метод округления, чтобы привести значение к представимому числу. Точность всегда теряется в операции округления и создает ошибки квантования и вычислительный шум.
Стоимость операции округления и величина смещения зависит от самого метода округления.
При представлении чисел с конечной точностью не каждое число в доступном диапазоне может быть представлено точно. Если число не может быть представлено точно указанным типом данных и масштабированием, для приведения значения к представимому числу используется метод округления. Хотя точность всегда теряется в операции округления, стоимость операции и величина смещения, которое вводится, зависит от самого способа округления.
Каждый метод округления имеет набор собственных свойств. В зависимости от требований вашей конструкции, эти свойства могут сделать метод округления более или менее желательным для вас. Зная требования вашей конструкции и понимая свойства каждого метода округления, вы можете определить, какой из них наилучшим образом соответствует вашим потребностям. Наиболее важными свойствами, которые следует учитывать, являются:
Стоимость - независимо от используемого оборудования, сколько затрат на обработку требует метод округления?
Низкий - метод требует нескольких циклов обработки.
Умеренный - метод требует умеренного количества циклов обработки.
Высокий - метод требует больше циклов обработки.
Примечание
Приведенная здесь смета расходов не зависит от оборудования. Некоторые процессоры имеют встроенные режимы округления, поэтому перед расчетом истинной стоимости каждого режима округления внимательно изучите оборудование, которое вы используете.
Смещение - какое ожидаемое значение округленных значений за вычетом исходных значений:
<0 - метод округления вводит отрицательный уклон.
() = 0 - метод округления не смещен.
> 0 - метод округления вводит положительный уклон.
В настоящее время продукт Fixed-Point Designer™ поддерживает следующие методы округления для обеспечения большей гибкости при выборе компромисса между стоимостью и смещением.
| Режим округления конструктора с фиксированной точкой | Описание | Обработка галстуков | Стоимость | Уклон |
|---|---|---|---|---|
| Потолок | Округляет до ближайшего представимого числа в направлении положительной бесконечности. | Н/Д | Низко | Большой позитив |
| Сходящийся | Округление до ближайшего представимого числа. | Галстуки округляются до ближайшего чётного числа. | Высоко | Беспристрастный |
| Пол | Округляет до ближайшего представимого числа в направлении отрицательной бесконечности. Эквивалентно усечению двух дополнений. | Н/Д | Низко | Большой негатив |
| Ближайший | Округление до ближайшего представимого числа. | Галстуки округляются до ближайшего представимого числа в направлении положительной бесконечности. | Умеренный | Малый позитив |
| Вокруг | Округление до ближайшего представимого числа. |
| Высоко |
|
| Самый простой (только Simulink ®) | Автоматически выбирает между Floor и Zero создание сгенерированного кода, который является максимально эффективным. | Н/Д | Низко | Зависит от операции |
| Ноль | Округляет до ближайшего представимого числа в направлении нуля. | Н/Д | Низко |
|
Округление в сторону потолка и округление в сторону пола иногда полезны для диагностических целей. Например, после ряда арифметических операций вы можете не знать точного ответа из-за ограничений размера слова, которые вводят округление. Если каждая операция в серии выполняется дважды, один раз округляя до положительной бесконечности и один раз округляя до отрицательной бесконечности, получается верхний предел и нижний предел правильного ответа. Затем можно определить, является ли результат достаточно точным или необходим дополнительный анализ.