Создайте объект Simulink.NumericType
, описывающий, подписал дробный тип данных
a = sfrac(WordLength
) a = sfrac(WordLength
,GuardBits
)
sfrac(
возвращает объект WordLength
)Simulink.NumericType
, который описывает тип данных дробного типа данных со знаком с размером слова, данным
. WordLength
sfrac(
возвращает объект WordLength
, GuardBits
)Simulink.NumericType
, который описывает тип данных дробного номера со знаком. Общий размер слова дан
с WordLength
битами
, расположенными слева от двоичной точки.GuardBits
Старший значащий (крайний левый) бит является знаковым битом. Двоичная точка по умолчанию для этого типа данных принята, чтобы сразу лечь справа от знакового бита. Если "сторожевые" разряды заданы, они лгут левым двоичной точки и направо от знакового бита. Например, структура для 8-битного дробного типа данных со знаком с 4 "сторожевыми" разрядами:
sfrac
является устаревшей функцией. В новом коде используйте fixdt
вместо этого. В существующем коде замените sfrac(WordLength,GuardBits)
на fixdt(1,WordLength,(WordLength-1-GuardBits))
и sfrac(WordLength)
с fixdt(1,WordLength,(WordLength-1))
.
Задайте 8-битный дробный тип данных со знаком с 4 "сторожевыми" разрядами. Обратите внимание на то, что область значений этого типа данных-24 =-16 к (1 - 2 (1 - 8)).24 = 15.875.
a = sfrac(8,4)
a = NumericType with properties: DataTypeMode: 'Fixed-point: binary point scaling' Signedness: 'Signed' WordLength: 8 FractionLength: 3 IsAlias: 0 DataScope: 'Auto' HeaderFile: '' Description: ''