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

где
bi - i-я двоичная цифра.
w1 - число битов в двоичном слове, известном также как длина слова.
bw1-1 - местоположение самого значительного или самого высокого бита (MSB). В двоичных числах со знаком этот бит является знаковым битом, который указывает, является ли число положительным или отрицательным.
b0 - местоположение младшего или самого низкого бита (LSB). Этот бит в двоичном слове может представлять наименьшее значение. Вес LSB определяется следующим образом:
где, fractionlength - количество битов справа от двоичной точки.
Биты слева от двоичной точки являются целыми битами и/или знаковыми битами, а биты справа от двоичной точки являются дробными битами. Число битов слева от двоичной точки называется целочисленной длиной. Двоичная точка в этом примере показана в четырех местах слева от LSB. Следовательно, говорят, что это число имеет четыре дробных бита или дробную длину, равную четырем.
Типы данных с фиксированной точкой могут быть подписаны или не подписаны.
Подписанные двоичные числа с фиксированной точкой обычно представлены одним из трех способов:
Знак/величина - Представление чисел с фиксированной или плавающей запятой. В представлении знака/величины один бит двоичного слова всегда является выделенным битом знака, в то время как остальные биты слова кодируют величину числа. Отрицание с использованием представления знака/величины состоит из переворачивания бита знака с 0 (положительного) на 1 (отрицательного) или с 1 на 0.
Одно дополнение
Дополнение Two - дополнение Two является наиболее распространенным представлением подписанных чисел с фиксированной точкой. Дополнительные сведения см. в разделе Два дополнения.
Беззнаковые числа с фиксированной точкой могут представлять собой только числа, большие или равные нулю.
В представлении [Уклон смещения] числа с фиксированной точкой могут кодироваться в соответствии со схемой
+ смещение
где наклон может быть выражен как
2exponent
Термин регулировка откоса иногда используется как синоним дробного откоса.
В тривиальном случае наклон = 1 и смещение = 0. Масштабирование всегда тривиально для чистых целых чисел, таких как int8, а также для истинных типов с плавающей запятой один и два.
Целое число иногда называется сохраненным целым числом. Это необработанное двоичное число, в котором двоичная точка считается расположенной справа от слова. В системных панелях инструментов отрицательное значение показателя степени часто называется длиной дроби.
Наклон и смещение вместе представляют масштабирование числа с фиксированной точкой. В числе с нулевым смещением на масштабирование влияет только наклон. Число с фиксированной точкой, масштабированное только по положению двоичной точки, эквивалентно числу в представлении Fixed-Point Designer™ [Уклон смещения], которое имеет смещение, равное нулю, и регулировку наклона, равную единице. Это называется двоичным масштабированием только для точки или масштабированием мощности двух:
integer
или
целое число
В программном обеспечении System Toolbox можно определить тип данных с фиксированной точкой и масштаб для вывода или параметров многих блоков, указав длину слова и длину дроби количества. Длина слова и длина дроби определяют весь тип данных и информацию масштабирования только для двоичных сигналов.
Все блоки System Toolbox, поддерживающие типы данных с фиксированной точкой, поддерживают сигналы с масштабированием только с двоичной точкой. Многие блоки с фиксированной точкой, которые не выполняют арифметические операции, а просто переупорядочивают данные, такие как задержка и перенос матрицы, также поддерживают сигналы с масштабированием [наклон смещения].
Необходимо обратить внимание на точность и диапазон типов данных с фиксированной точкой и масштабирования, выбранных для блоков в моделировании, чтобы знать, будут ли вызываться методы округления или возникнут переполнения.
Диапазон - это диапазон чисел, который может представлять тип данных с фиксированной точкой и масштабирование. Диапазон представимых чисел для комплементарного числа с фиксированной точкой длины слова w1, масштабирования S и смещения B проиллюстрирован ниже:

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

Полный диапазон - это самый широкий диапазон для типа данных. Для типов с плавающей запятой полный диапазон - от - ∞ до ∞. Для целочисленных типов полный диапазон - это диапазон от наименьшего до наибольшего целочисленного значения (конечного), которое может представлять тип. Например, от -128 до 127 для целого числа со знаком 8 бит.
Обработка переполнения. Поскольку тип данных с фиксированной точкой представляет числа в пределах конечного диапазона, переполнение может произойти, если результат операции больше или меньше, чем числа в этом диапазоне.
Программное обеспечение System Toolbox не позволяет добавлять защитные биты к типу данных на лету, чтобы избежать переполнения. Защитные биты - это дополнительные биты в аппаратном регистре или программном моделировании, которые добавляются к верхнему концу двоичного слова, чтобы гарантировать отсутствие потери информации в случае переполнения. Любые защитные биты должны быть выделены при инициализации модели. Однако программное обеспечение позволяет либо насыщать, либо переносить переполнения. Насыщение представляет собой положительное переполнение как наибольшее положительное число в используемом диапазоне, а отрицательное переполнение как наибольшее отрицательное число в используемом диапазоне. При переносе используется арифметика по модулю, возвращающая переполнение в представимый диапазон типа данных. Дополнительные сведения см. в разделе Арифметика по модулю.
Точность числа с фиксированной точкой - это разность между последовательными значениями, представляемыми его типом данных, и масштабированием, которое равно значению его младшего разряда. Значение младшего бита и, следовательно, точность числа определяется числом дробных битов. Значение с фиксированной точкой может быть представлено в пределах половины точности его типа данных и масштабирования. Термин resolution иногда используется как синоним этого определения.
Например, представление с фиксированной точкой с четырьмя битами справа от двоичной точки имеет точность 2-4 или 0,0625, что является значением его младшего бита. Любое число в диапазоне этого типа данных и масштабирования может быть представлено в пределах (2-4 )/2 или 0,03125, что вдвое меньше точности. Это пример представления числа с конечной точностью.
Режимы округления. При представлении чисел с конечной точностью не каждое число в доступном диапазоне может быть представлено точно. Если число не может быть представлено точно указанным типом данных и масштабированием, оно округляется до представляемого числа. Хотя точность всегда теряется в операции округления, стоимость операции и величина смещения, которое вводится, зависит от самого режима округления. В настоящее время программное обеспечение DSP System Toolbox™ поддерживает следующие режимы округления:
Ceiling округляет результат вычисления до ближайшего представимого числа в направлении положительной бесконечности.
Convergent округляет результат вычисления до ближайшего представимого числа. В случае галстука Convergent округляется до ближайшего чётного числа. Это наименее смещенный режим округления, предоставляемый панелью инструментов.
Floor, что эквивалентно усечению, округляет результат вычисления до ближайшего представимого числа в направлении отрицательной бесконечности. Операция усечения приводит к отбрасыванию одного или более младших значащих битов из числа.
Nearest округляет результат вычисления до ближайшего представимого числа. В случае галстука Nearest округляется до ближайшего представимого числа в направлении положительной бесконечности.
Round округляет результат вычисления до ближайшего представимого числа. В случае галстука Round округляет положительные числа до ближайшего представимого числа в направлении положительной бесконечности, и округляет отрицательные числа до ближайшего представляемого числа в направлении отрицательной бесконечности.
Simplest округляет результат расчета с использованием режима округления (Floor или Zero), что добавляет наименьшее количество дополнительного кода округления в созданный код. Дополнительные сведения см. в разделе Режим округления: простейший (конструктор фиксированных точек).
Zero округляет результат вычисления до ближайшего представимого числа в направлении нуля.
Дополнительные сведения о каждом из этих режимов округления см. в разделе Округление (конструктор фиксированных точек).
Прямое сравнение режимов округления см. в разделе Выбор метода округления (конструктор фиксированных точек).