Числа фиксированной точки

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

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

где

  • b i - i-ая двоичная цифра.

  • 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, ограничение двоичной точки к тому, чтобы быть непрерывным с частью является ненужным; дробная длина может быть отрицательной или больше, чем размер слова.

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

bbb.=bbb.×20bb.b=bbb.×21b.bb=bbb.×22.bbb=bbb.×23

Если бы экспонента была больше 0 или меньше, чем-3, то представление включило бы много нулей.

bbb00000.=bbb.×25bbb00.=bbb.×22.00bbb=bbb.×25.00000bbb=bbb.×28

Эти дополнительные нули никогда не превращаются в единицы, однако, таким образом, они не обнаруживаются в оборудовании. Кроме того, в отличие от экспонент с плавающей точкой, экспонента фиксированной точки никогда не обнаруживается в оборудовании, таким образом, экспоненты фиксированной точки не ограничиваются конечным числом битов.

Рассмотрите значение со знаком с размером слова 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).

Числа фиксированной точки со знаком

Компьютерное оборудование обычно представляет отрицание бинарного номера фиксированной точки тремя различными способами: знак/величина, поразрядное дополнение до единицы и дополнение two. Дополнение Туо является предпочтительным представлением чисел фиксированной точки со знаком и является единственным представлением, используемым Fixed-Point Designer.

Отрицание с помощью дополнения two состоит из небольшой инверсии (перевод в поразрядное дополнение до единицы) сопровождаемый сложением того. Например, дополнение two 000101 111011.

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

Похожие темы