Note: This page has been translated by MathWorks. Click here to see

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

To view all translated materials including this page, select Country from the country navigator on the bottom of this page.

Construct unsigned fixed-point numeric object

`a = ufi`

a = ufi(v)

a = ufi(v,w)

a = ufi(v,w,f)

a = ufi(v,w,slope,bias)

a = ufi(v,w,slopeadjustmentfactor,fixedexponent,bias)

You can use the `ufi`

constructor function
in the following ways:

`a = ufi`

is the default constructor and returns an unsigned`fi`

object with no value, 16-bit word length, and 15-bit fraction length.`a = ufi(v)`

returns an unsigned fixed-point object with value`v`

, 16-bit word length, and best-precision fraction length.`a = ufi(v,w)`

returns an unsigned fixed-point object with value`v`

, word length`w`

, and best-precision fraction length.`a = ufi(v,w,f)`

returns an unsigned fixed-point object with value`v`

, word length`w`

, and fraction length`f`

.`a = ufi(v,w,slope,bias)`

returns an unsigned fixed-point object with value`v`

, word length`w`

,`slope`

, and`bias`

.`a = ufi(v,w,slopeadjustmentfactor,fixedexponent,bias)`

returns an unsigned fixed-point object with value`v`

, word length`w`

,`slopeadjustmentfactor`

,`fixedexponent`

, and`bias`

.

`fi`

objects created by the `ufi`

constructor
function have the following general types of properties:

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

`fi`

objects created by the `ufi`

constructor
function have no local fimath.

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 `ufi`

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### Note

This property is hidden when the

`SumMode`

is set to`FullPrecision`

.`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### Note

`numerictype`

objects can have a`Signedness`

of`Auto`

, but all`fi`

objects must be`Signed`

or`Unsigned`

. If a`numerictype`

object with`Auto`

`Signedness`

is used to create a`fi`

object, the`Signedness`

property of the`fi`

object automatically defaults to`Signed`

.`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 information about the display format of `fi`

objects,
refer to View Fixed-Point Data.

For examples of casting, see Cast fi Objects.

For example, the following creates an unsigned `fi`

object
with a value of `pi`

, a word length of 8 bits, and
a fraction length of 3 bits:

a = ufi(pi,8,3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned 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 = ufi((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: Unsigned WordLength: 16 FractionLength: 12 >>

If you omit the argument `f`

, it is set automatically
to the best precision possible:

a = ufi(pi,8) a = 3.1406 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 8 FractionLength: 6

If you omit `w`

and `f`

, they
are set automatically to 16 bits and the best precision possible,
respectively:

a = ufi(pi) a = 3.1416 DataTypeMode: Fixed-point: binary point scaling Signedness: Unsigned WordLength: 16 FractionLength: 14

`fi`

| `fimath`

| `fipref`

| `isfimathlocal`

| `numerictype`

| `quantizer`

| `sfi`

Was this topic helpful?