Round toward zero
y = fix(a)
y = fix(a)
rounds fi
object a
to
the nearest integer in the direction of zero and returns the result
in fi
object y
.
y
and a
have the same fimath
object
and DataType
property.
When the DataType
property of a
is single
, double
,
or boolean
, the numerictype
of y
is
the same as that of a
.
When the fraction length of a
is zero or
negative, a
is already an integer, and the numerictype
of y
is
the same as that of a
.
When the fraction length of a
is positive,
the fraction length of y
is 0
,
its sign is the same as that of a
, and its word
length is the difference between the word length and the fraction
length of a
. If a
is signed,
then the minimum word length of y
is 2
.
If a
is unsigned, then the minimum word length
of y
is 1
.
For complex fi
objects, the imaginary and
real parts are rounded independently.
fix
does not support fi
objects
with nontrivial slope and bias scaling. Slope and bias scaling is
trivial when the slope is an integer power of 2 and the bias is 0.
The following example demonstrates how the fix
function
affects the numerictype
properties of a signed fi
object
with a word length of 8 and a fraction length of 3.
a = fi(pi, 1, 8, 3) a = 3.1250 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 3 y = fix(a) y = 3 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 5 FractionLength: 0
The following example demonstrates how the fix
function
affects the numerictype
properties of a signed fi
object
with a word length of 8 and a fraction length of 12.
a = fi(0.025,1,8,12) a = 0.0249 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 8 FractionLength: 12 y = fix(a) y = 0 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 2 FractionLength: 0
The functions ceil
, fix
,
and floor
differ in the way they round fi
objects:
The ceil
function rounds values
to the nearest integer toward positive infinity
The fix
function rounds values
toward zero
The floor
function rounds values
to the nearest integer toward negative infinity
The following table illustrates these differences for
a given fi
object a
.
a | ceil(a) | fix(a) | floor(a) |
---|---|---|---|
– 2.5 | –2 | –2 | –3 |
–1.75 | –1 | –1 | –2 |
–1.25 | –1 | –1 | –2 |
–0.5 | 0 | 0 | –1 |
0.5 | 1 | 0 | 0 |
1.25 | 2 | 1 | 1 |
1.75 | 2 | 1 | 1 |
2.5 | 3 | 2 | 2 |
ceil
| convergent
| floor
| nearest
| round