exponenta event banner

Номера с фиксированной точкой

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

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

где

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

  • w1 - длина слова в битах.

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

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

bbb. = bbb. × 20bb.b = bbb. × 2 1b.bb = bbb. × 2 − 2 .bbb = bbb. × 2 − 3

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

bbb00000. = bbb.×25bbb00. = bbb.×22.00bbb=bbb.×2−5.00000bbb=bbb.×2−8

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

Рассмотрим значение со знаком с длиной слова 8, длиной дроби 10 и запомненным целым значением 5 (двоичное значение 00000101). Действительное значение слова вычисляется по формуле
RealWorldValue = StoredInteger * 2 ^ -FractionLength. В этом случае RealWorldValue = 5 * 2 ^ -10 = 0.0048828125. Поскольку длина дроби на 2 бита больше длины слова, двоичное значение сохраненного целого числа равно x.xx00000101 , где x является местозаполнителем неявных нулей. 0.0000000101 (двоичный) эквивалентен 0.0048828125 (десятичное). Для примера использования fi см. раздел Длина дроби больше, чем длина слова (конструктор фиксированных точек).

Подписанные номера с фиксированной точкой

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

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

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

Связанные темы