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

Для подписанных и неподписанных чисел с фиксированной точкой любого типа данных количество различных битовых шаблонов равно 2wl.
Например, в дополнении двух отрицательные числа должны быть представлены как ноль, поэтому максимальное значение равно 2wl -1 - 1. Поскольку существует только одно представление для нуля, существует неравное число положительных и отрицательных чисел. Это означает, что существует представление для − 1, но не 2wl − 1:

Поскольку тип данных с фиксированной точкой представляет числа в пределах конечного диапазона, переполнения и неполные потоки могут возникать, если результат операции больше или меньше, чем числа в этом диапазоне.
В двоичной арифметике процессору может потребоваться взять n-битовое число с фиксированной точкой и сохранить его в m битах, где . Если m < n, диапазон числа был уменьшен, и операция может вызвать состояние переполнения. Некоторые процессоры идентифицируют это состояние как Inf или NaN. Для других процессоров, особенно цифровых сигнальных процессоров (DSP), значение насыщается или оборачивается.
Программное обеспечение Fixed-Point Designer™ позволяет насыщать или переносить переполнения. Насыщение представляет собой положительное переполнение как наибольшее положительное число в используемом диапазоне, а отрицательное переполнение как наибольшее отрицательное число в используемом диапазоне. При переносе используется арифметика по модулю, возвращающая переполнение в представимый диапазон типа данных.
При создании fi объект, любые переливы насыщены. OverflowAction свойством fimath по умолчанию является saturate. Вы можете регистрировать переполнения и неполные потоки, установив LoggingMode имущества fipref объект в on.
Если m > n, диапазон номера был расширен. Расширение диапазона слова требует включения защитных битов, которые защищают от потенциального переполнения.
Программное обеспечение Simulink ® поддерживает насыщение и упаковку для всех типов данных с фиксированной точкой, в то время как защитные биты поддерживаются только для дробных типов данных.
Точность числа с фиксированной точкой - это разность между последовательными значениями, представляемыми типом данных и масштабированием. Значение младшего бита и, следовательно, точность числа определяется числом дробных битов. Значение с фиксированной точкой может быть представлено в пределах половины точности его типа данных и масштабирования.
Например, представление с фиксированной точкой с четырьмя битами справа от двоичной точки имеет точность 2-4 или 0,0625, что является значением его младшего бита. Любое число в диапазоне этого типа данных и масштабирования может быть представлено в пределах (2-4 )/2 или 0,03125, что вдвое меньше точности. Это пример представления числа с конечной точностью.
Точность слова с фиксированной точкой зависит от размера слова и расположения двоичной точки. Например, предположим, что необходимо представить действительное число 35.375 с числом с фиксированной точкой. Используя схему кодирования смещения наклона, представление
где V = 35,375.
Двумя ближайшими приближениями к вещественному значению являются Q = 13 и Q = 14:
35,50.
В любом случае абсолютная ошибка одинакова:
Для значений с фиксированной точкой в ограниченном диапазоне это представляет наихудшую ошибку, если используется округление до ближайшего. Если используются другие режимы округления, наихудшая ошибка может быть вдвое больше:
Увеличение точности слова может быть достигнуто с помощью большего количества битов, но при таком подходе вы сталкиваетесь с практическими ограничениями. Вместо этого необходимо тщательно выбрать тип данных, размер слова и масштаб, чтобы числа были представлены точно. Округление и заполнение задними нулями - типичные методы, реализуемые на процессорах для работы с точностью двоичных слов.
Нижний предел, верхний предел и масштабирование по умолчанию только для двоичных точек для поддерживаемых типов данных с фиксированной точкой, обсуждаемых в разделе Масштабирование только для двоичных точек, приведены в следующей таблице.
Диапазон типов данных с фиксированной точкой и масштаб по умолчанию
Имя | Тип данных | Нижний предел | Верхний предел | Масштабирование по умолчанию (~ точность) |
|---|---|---|---|---|
Целое число без знака |
| 0 |
| |
| Целое число со знаком |
|
| ||
Неподписанная двоичная точка |
| 0 | − fl | fl |
| Подписанная двоичная точка |
| − fl | 2 − fl | fl |
Смещение откоса без знака |
|
| ) + b | s |
| Наклон с подписью |
| 1) + b | 1) + b | s |
s = Наклон, b = Смещение, ws = Длина WordLength, fl = Длина фильтра
В следующей таблице перечислены точности, диапазон подписанных значений и диапазон неподписанных значений для 8-разрядного обобщенного типа данных с фиксированной точкой с масштабированием только с двоичной точкой. Следует отметить, что первое значение (21) масштабирования представляет двоичную точку, которая не является смежной со словом.
Вычисление | Точность | Диапазон подписанных значений (низкий, высокий) | Диапазон неподписанных значений (низкий, высокий) |
|---|---|---|---|
21 | 2.0 | -256, 254 | 0, 510 |
20 | 1.0 | -128, 127 | 0, 255 |
2-1 | 0.5 | -64, 63.5 | 0, 127.5 |
2-2 | 0.25 | -32, 31.75 | 0, 63.75 |
2-3 | 0.125 | -16, 15.875 | 0, 31.875 |
2-4 | 0.0625 | -8, 7.9375 | 0, 15.9375 |
2-5 | 0.03125 | -4, 3.96875 | 0, 7.96875 |
2-6 | 0.015625 | -2, 1.984375 | 0, 3.984375 |
2-7 | 0.0078125 | -1, 0.9921875 | 0, 1.9921875 |
2-8 | 0.00390625 | -0.5, 0.49609375 | 0, 0.99609375 |
Точность и диапазоны подписанных и неподписанных значений для 8-битного типа данных с фиксированной точкой с использованием масштабирования наклона и смещения перечислены в следующей таблице. Уклон начинается со значения 1.25 с смещением 1.0 для всех откосов. Обратите внимание, что уклон совпадает с точностью.
Уклон | Уклон/точность | Диапазон подписанных значений (низкий, высокий) | Диапазон неподписанных значений (низкий, высокий) |
|---|---|---|---|
1 | 1.25 | -159, 159.75 | 1, 319.75 |
1 | 0.625 | -79, 80.375 | 1, 160.375 |
1 | 0.3125 | -39, 40.6875 | 1, 80.6875 |
1 | 0.15625 | -19, 20.84375 | 1, 40.84375 |
1 | 0.078125 | -9, 10.921875 | 1, 20.921875 |
1 | 0.0390625 | -4, 5.9609375 | 1, 10.9609375 |
1 | 0.01953125 | -1.5, 3.48046875 | 1, 5.98046875 |
1 | 0.009765625 | -0.25, 2.240234375 | 1, 3.490234375 |
1 | 0.0048828125 | 0.375, 1.6201171875 | 1, 2.2451171875 |