exponenta event banner

Диапазон и точность

Диапазон числа дает пределы представления, в то время как точность дает расстояние между последовательными числами в представлении. Диапазон и точность числа с фиксированной точкой зависят от длины слова и масштабирования.

Примечание

Необходимо обратить внимание на точность и диапазон типов данных и масштабирования с фиксированной точкой, чтобы узнать, будут ли вызываться методы округления или будут происходить переполнения или неполные потоки.

Диапазон

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

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

Для подписанных и неподписанных чисел с фиксированной точкой любого типа данных количество различных битовых шаблонов равно 2wl.

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

Ограничения по диапазону

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

В двоичной арифметике процессору может потребоваться взять n-битовое число с фиксированной точкой и сохранить его в m битах, где m≠n. Если 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≈V˜=SQ+B=2−2Q+32,

где V = 35,375.

Двумя ближайшими приближениями к вещественному значению являются Q = 13 и Q = 14:

V˜=2−2 (13) +32=35.25,V˜=2−2 (14) + 32 = 35,50.

В любом случае абсолютная ошибка одинакова:

|V˜−V|=0.125=S2=F2E2.

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

|V˜−V|<F2E.

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

Параметры типа данных с фиксированной точкой

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

Диапазон типов данных с фиксированной точкой и масштаб по умолчанию

Имя

Тип данных

Нижний предел

Верхний предел

Масштабирование по умолчанию (~ точность)

Целое число без знака

fixdt(0,ws,0)

0

2ws−1

1

Целое число со знаком

fixdt(1,ws,0)

−2ws−1

2ws−1−1

1

Неподписанная двоичная точка

fixdt(0,ws,fl)

0

(2ws 1) 2 − fl

2 fl

Подписанная двоичная точка

fixdt(1,ws,fl)

2ws 1 − fl

(2ws 1 1) 2 − fl

2 fl

Смещение откоса без знака

fixdt(0,ws,s,b)

b

s (2ws 1) + b

s

Наклон с подписью

fixdt(1,ws,s,b)

s (2ws 1) + b

s (2ws 1 1) + b

s

s = Наклон, b = Смещение, ws = Длина WordLength, fl = Длина фильтра

Диапазон и точность 8-Bit типа данных с фиксированной точкой - масштабирование только двоичной точки

В следующей таблице перечислены точности, диапазон подписанных значений и диапазон неподписанных значений для 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-Bit фиксированного типа данных - масштабирование уклона и смещения

Точность и диапазоны подписанных и неподписанных значений для 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

Связанные темы