В цифровом оборудовании числа хранятся в двоичных словах. Двоичное слово является последовательностью фиксированной длины двоичных цифр (1's и 0). Путь, которым аппаратные компоненты или функции программного обеспечения интерпретируют эту последовательность 1's и 0, описан типом данных.
Двоичные числа представлены или как фиксированная точка или как типы данных с плавающей точкой. Тип данных с фиксированной точкой характеризуется размером слова в битах, двоичной точке, и подписывается ли это или без знака. Положение двоичной точки является средними значениями, которыми значения фиксированной точки масштабируются и интерпретируются. С программным обеспечением Fixed-Point Designer™ типы данных с фиксированной точкой могут быть целыми числами, fractionals, или обобщенными числами фиксированной точки. Основным различием между этими типами данных является их двоичная точка по умолчанию. Например, бинарное представление обобщенного номера фиксированной точки (или подписанный или без знака) показывают ниже:
где
b i - ith двоичная цифра.
wl является размером слова в битах.
b wl-1 является местоположением старшего значащего, или самый высокий, бит (MSB).
b 0 является местоположением младшего значащего, или самый низкий, бит (LSB).
Двоичной точке показывают четыре места слева от LSB. В этом примере, поэтому, номер, как говорят, имеет четыре дробных бита или дробную длину четыре.
Двоичная точка является средними значениями, которыми масштабируются числа фиксированной точки. Это обычно - программное обеспечение, которое определяет двоичную точку. При выполнении основных математических функций, таких как сложение или вычитание, оборудование использует те же логические схемы независимо от значения масштабного коэффициента. В сущности логические схемы не знают о масштабном коэффициенте. Они выполняют подписанную или двоичную алгебру фиксированной точки без знака, как будто двоичная точка справа от b0.
Fixed-Point Designer поддерживает общее масштабирование двоичной точки
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
возразите, смотрите Дробную Длину, Больше, Чем Размер слова.
Компьютерное оборудование обычно представляет отрицание бинарного номера фиксированной точки тремя различными способами: знак/величина, поразрядное дополнение до единицы и дополнение two. Дополнение Туо является предпочтительным представлением чисел фиксированной точки со знаком и является единственным представлением, используемым программным обеспечением Fixed-Point Designer.
Отрицание с помощью дополнения two состоит из небольшой инверсии (перевод в поразрядное дополнение до единицы) сопровождаемый сложением того. Например, дополнение two 000101 111011.
Подписывается ли значение фиксированной точки или без знака, обычно не кодируется явным образом в двоичном слове; то есть, нет никакого знакового бита. Вместо этого информация о знаке неявно задана в архитектуре ЭВМ.
Типы данных с плавающей точкой характеризуются знаковым битом, часть (или мантисса) поле и поле экспоненты. Fixed-Point Designer придерживается IEEE® Standard 754-1985 для Бинарной Арифметики С плавающей точкой (упомянутый просто как Стандарт IEEE 754 в этом руководстве) и поддерживает одиночные игры и удваивается.
При выборе типа данных необходимо рассмотреть эти факторы:
Числовая область значений результата
Точность требуется результата
Связанная ошибка квантования (т.е. округляющийся режим)
Метод для контакта с исключительными арифметическими условиями
Этот выбор зависит от вашего определенного приложения, архитектура ЭВМ, используемая, и стоимость разработки, среди других.
С программным обеспечением Fixed-Point Designer можно исследовать отношение между типами данных, областью значений, точностью и ошибкой квантования в моделировании динамических цифровых систем. С продуктом Simulink® Coder™ можно сгенерировать производственный код на основе той модели. С HDL Coder™ можно сгенерировать портативный, синтезируемый код VHDL и Verilog из моделей Simulink и графиков Stateflow®.
Типы данных с фиксированной точкой могут быть или подписаны или без знака. Бинарные числа фиксированной точки со знаком обычно представляются одним из трех способов: