Note: This page has been translated by MathWorks. Please click here

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

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

Round toward negative infinity

`y = floor(a)`

`y = floor(a)`

rounds `fi`

object `a`

to
the nearest integer in the direction of negative infinity 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.

`floor`

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

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 = floor(a) y = 3 DataTypeMode: Fixed-point: binary point scaling Signedness: Signed WordLength: 5 FractionLength: 0

The following example demonstrates how the `floor`

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 = floor(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 infinityThe

`fix`

function rounds values toward zeroThe

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

| `fix`

| `nearest`

| `round`

Was this topic helpful?