В цифровом оборудовании номера сохраняются в двоичных словах. Двоичное слово является последовательностью двоичных цифр с фиксированной длиной (1 и 0). Способ интерпретации аппаратными компонентами или программными функциями этой последовательности 1 и 0 описан типом данных. Существует несколько различных различий между типами данных с фиксированной точкой и встроенными целыми типами в MATLAB ®. Наиболее заметным различием является то, что встроенные целочисленные типы данных могут представлять только целые числа, в то время как типы данных с фиксированной точкой также содержат информацию о положении двоичной точки или масштабировании числа.
Двоичные числа представлены как типы данных с фиксированной точкой, так и с плавающей точкой. Тип данных с фиксированной точкой характеризуется размером слова в битах, двоичной точкой и подписью или беззнаком. Положение двоичной точки является средством, с помощью которого значения с фиксированной точкой масштабируются и интерпретируются. С Fixed-Point Designer™ типы данных с фиксированной точкой могут быть целыми числами, дробями или обобщенными числами с фиксированной точкой. Основным различием этих типов данных является их двоичная точка по умолчанию. Например, двоичное представление обобщенного числа с фиксированной точкой (со знаком или без знака) показано ниже:
где
b i есть ith двоичная цифра.
wl - размер слова в битах.
b wl-1 является местоположением самого значительного, или самого высокого, бита (MSB).
b 0 является местоположением наименее значимого, или самого низкого, бита (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
объект, см. «Длина дроби больше размер слова» (Fixed-Point Designer).
Компьютерное оборудование обычно представляет отрицание двоичного числа с фиксированной точкой тремя различными способами: знак/величина, дополнение и дополнение. Дополнение двух является предпочтительным представлением подписанных чисел с фиксированной точкой и единственным представлением, используемым Fixed-Point Designer.
Отрицание с использованием дополнения двух состоит из битовой инверсии (перевод в дополнение) с последующим сложением дополнения. Для примера, дополнение двух компонентов 000101 составляет 111011.
Является ли значение с фиксированной точкой подписанным или неподписанным, обычно не кодируется явным образом в двоичном слове; то есть бит знака отсутствует. Вместо этого информация о знаке неявно определяется в компьютерной архитектуре.