## Documentation Center |

Construct signed fixed-point numeric object

`a = sfia = sfi(v)a = sfi(v,w)a = sfi(v,w,f)a = sfi(v,w,slope,bias)a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias)`

You can use the `sfi` constructor function
in the following ways:

`a = sfi`is the default constructor and returns a signed`fi`object with no value, 16-bit word length, and 15-bit fraction length.`a = sfi(v)`returns a signed fixed-point object with value`v`, 16-bit word length, and best-precision fraction length.`a = sfi(v,w)`returns a signed fixed-point object with value`v`, word length`w`, and best-precision fraction length.`a = sfi(v,w,f)`returns a signed fixed-point object with value`v`, word length`w`, and fraction length`f`.`a = sfi(v,w,slope,bias)`returns a signed fixed-point object with value`v`, word length`w`,`slope`, and`bias`.`a = sfi(v,w,slopeadjustmentfactor,fixedexponent,bias)`returns a signed fixed-point object with value`v`, word length`w`,`slopeadjustmentfactor`,`fixedexponent`, and`bias`.

`fi` objects created by the `sfi` constructor
function have the following general types of properties:

These properties are described in detail in fi Object Properties in the Properties Reference.

The data properties of a `fi` object are always
writable.

`bin`— Stored integer value of a`fi`object in binary`data`— Numerical real-world value of a`fi`object`dec`— Stored integer value of a`fi`object in decimal`double`— Real-world value of a`fi`object, stored as a MATLAB^{®}`double``hex`— Stored integer value of a`fi`object in hexadecimal`int`— Stored integer value of a`fi`object, stored in a built-in MATLAB integer data type. You can also use`int8`,`int16`,`int32`,`int64`,`uint8`,`uint16`,`uint32`, and`uint64`to get the stored integer value of a`fi`object in these formats`oct`— Stored integer value of a`fi`object in octal

These properties are described in detail in fi Object Properties.

When you create a `fi` object with the `sfi` constructor
function, that `fi` object does not have a local `fimath` object.
You can attach a `fimath` object to that `fi` object
if you do not want to use the default fimath settings. For more information,
see fimath Object Construction in the Fixed-Point Designer™ documentation.

`fimath`— fixed-point math object

The following `fimath` properties are always
writable and, by transitivity, are also properties of a `fi` object.

`CastBeforeSum`— Whether both operands are cast to the sum data type before addition`OverflowAction`— Action to take on overflow`ProductBias`— Bias of the product data type`ProductFixedExponent`— Fixed exponent of the product data type`ProductFractionLength`— Fraction length, in bits, of the product data type`ProductMode`— Defines how the product data type is determined`ProductSlope`— Slope of the product data type`ProductSlopeAdjustmentFactor`— Slope adjustment factor of the product data type`ProductWordLength`— Word length, in bits, of the product data type`RoundingMethod`— Rounding method`SumBias`— Bias of the sum data type`SumFixedExponent`— Fixed exponent of the sum data type`SumFractionLength`— Fraction length, in bits, of the sum data type`SumMode`— Defines how the sum data type is determined`SumSlope`— Slope of the sum data type`SumSlopeAdjustmentFactor`— Slope adjustment factor of the sum data type`SumWordLength`— The word length, in bits, of the sum data type

These properties are described in detail in fimath Object Properties.

When you create a `fi` object, a `numerictype` object
is also automatically created as a property of the `fi` object.

`numerictype` — Object containing all
the data type information of a `fi` object, Simulink^{®} signal
or model parameter

The following `numerictype` properties are,
by transitivity, also properties of a `fi` object.
The properties of the `numerictype` object become
read only after you create the `fi` object. However,
you can create a copy of a `fi` object with new values
specified for the `numerictype` properties.

`Bias`— Bias of a`fi`object`DataType`— Data type category associated with a`fi`object`DataTypeMode`— Data type and scaling mode of a`fi`object`FixedExponent`— Fixed-point exponent associated with a`fi`object`SlopeAdjustmentFactor`— Slope adjustment associated with a`fi`object`FractionLength`— Fraction length of the stored integer value of a`fi`object in bits`Scaling`— Fixed-point scaling mode of a`fi`object`Signed`— Whether a`fi`object is signed or unsigned`Signedness`— Whether a`fi`object is signed or unsigned`Slope`— Slope associated with a`fi`object`WordLength`— Word length of the stored integer value of a`fi`object in bits

For further details on these properties, see numerictype Object Properties.

For examples of casting, see Cast fi Objects. |

For example, the following creates a signed `fi` object
with a value of `pi`, a word length of 8 bits, and
a fraction length of 3 bits:

a = sfi(pi,8,3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3

Default `fimath` properties are associated
with `a`. When a `fi` object does
not have a local `fimath` object, no `fimath` object
properties are displayed in its output. To determine whether a `fi` object
has a local `fimath` object, use the `isfimathlocal` function.

isfimathlocal(a) ans = 0

A returned value of `0` means the `fi` object
does not have a local `fimath` object. When the `isfimathlocal` function
returns a `1`, the `fi` object has
a local `fimath` object.

The value `v` can also be an array:

a = sfi((magic(3)/10),16,12) a = 0.8000 0.1001 0.6001 0.3000 0.5000 0.7000 0.3999 0.8999 0.2000 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 12

If you omit the argument `f`, it is set automatically
to the best precision possible:

a = sfi(pi,8) a = 3.1563 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 5

If you omit `w` and `f`, they
are set automatically to 16 bits and the best precision possible,
respectively:

a = sfi(pi) a = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 16 FractionLength: 13

`fi` | `fimath` | `fipref` | `isfimathlocal` | `numerictype` | `quantizer` | `ufi`

Was this topic helpful?