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

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

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

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).

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

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

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

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

Похожие темы