В цифровых аппаратных средствах числа сохранены в двоичных словах. Двоичное слово является последовательностью фиксированной длины двоичных цифр (1's и 0). Путь, которым аппаратные компоненты или функции программного обеспечения интерпретируют эту последовательность 1's и 0, описан типом данных. Существует несколько явных различий между типами данных фиксированной точки и встроенными целыми типами в MATLAB®. Наиболее заметные различия, то, что встроенные целочисленные типы данных могут только представлять целые числа, в то время как типы данных фиксированной точки также содержат информацию о положении двоичной точки или масштабировании номера.
Двоичные числа представлены или как фиксированная точка или как типы данных с плавающей точкой. Тип данных фиксированной точки характеризуется размером слова в битах, двоичной точке, и подписывается ли это или без знака. Положение двоичной точки является средними значениями, которыми значения фиксированной точки масштабируются и интерпретируются. С Фиксированной точкой Designer™ типы данных фиксированной точки могут быть целыми числами, fractionals, или обобщенными числами фиксированной точки. Основным различием между этими типами данных является их двоичная точка по умолчанию. Например, бинарное представление обобщенного номера фиксированной точки (или подписанный или без знака) показывают ниже:
где
bi является ith двоичной цифрой.
wl является размером слова в битах.
bwl-1 является местоположением старшего значащего, или самый высокий, кусает (MSB).
b0 является местоположением младшего значащего, или самый низкий, кусает (LSB).
Двоичной точке показывают четыре места слева от LSB. В этом примере, поэтому, номер, как говорят, имеет четыре дробных бита или дробную длину четыре.
Двоичная точка является средними значениями, которыми масштабируются числа фиксированной точки. Это обычно - программное обеспечение, которое определяет двоичную точку. При выполнении основных математических функций, таких как сложение или вычитание, аппаратные средства используют те же логические схемы независимо от значения масштабного коэффициента. В сущности логические схемы не знают о масштабном коэффициенте. Они выполняют подписанную или двоичную алгебру фиксированной точки без знака, как будто двоичная точка справа от b0.
Fixed-Point Designer поддерживает общую двоичную точку, масштабирующую V=Q*2^E. V
является реальным значением, Q
является сохраненным целочисленным значением, и E
равен -FractionLength
. Другими словами, RealWorldValue = StoredInteger * 2 ^ -FractionLength
.
FractionLength
задает масштабирование сохраненного целочисленного значения. Размер слова ограничивает значения, которые может принять сохраненное целое число, но это не ограничивает значения, которые может принять FractionLength
. Программное обеспечение не ограничивает значение экспоненты E
на основе размера слова сохраненного целочисленного Q
. Поскольку E
равен -FractionLength
, ограничивание двоичной точки к тому, чтобы быть непрерывным с частью является ненужным; дробная длина может быть отрицательной или больше, чем размер слова.
Например, слово, состоящее из трех битов без знака, обычно представляется в экспоненциальном представлении одним из следующих способов.
Если бы экспонента была больше, чем 0 или меньше, чем-3, то представление включило бы много нулей.
Эти дополнительные нули никогда не изменяются на единицы, однако, таким образом, они не обнаруживаются в аппаратных средствах. Кроме того, различающиеся экспоненты с плавающей точкой, экспонента фиксированной точки никогда не обнаруживается в аппаратных средствах, таким образом, экспоненты фиксированной точки не ограничиваются конечным числом битов.
Рассмотрите значение со знаком с размером слова 8, дробной длиной 10 и сохраненным целочисленным значением 5 (двоичное значение 00000101
). Значение действительного слова вычисляется с помощью формулы
RealWorldValue = StoredInteger * 2 ^ -FractionLength
. В этом случае, RealWorldValue = 5 * 2 ^ -10 = 0.0048828125
. Поскольку дробная длина на 2 бита более долга, чем размер слова, двоичным значением сохраненного целого числа является x.xx00000101
, где x
является заполнителем для неявных нулей. 0.0000000101
(двоичный файл) эквивалентен 0.0048828125
(десятичное число). Для примера с помощью объекта fi
смотрите, Создают Объект fi С Дробной Длиной, Больше, Чем Размер слова (Fixed-Point Designer).
Компьютерное оборудование обычно представляет отрицание бинарного номера фиксированной точки тремя различными способами: знак/значение, поразрядное дополнение до единицы и дополнение two. Дополнение Туо является предпочтительным представлением чисел фиксированной точки со знаком и является единственным представлением, используемым Fixed-Point Designer.
Отрицание с помощью дополнения two состоит из маленькой инверсии (перевод в поразрядное дополнение до единицы) сопровождаемый сложением того. Например, дополнение two 000101 111011.
Подписывается ли значение фиксированной точки или без знака, обычно не кодируется явным образом в двоичном слове; то есть, нет никакого знакового бита. Вместо этого информация о знаке неявно задана в архитектуре ЭВМ.