f2i
Operation
Convert float
to int
Forms
f2i = 139 (0x8b)
Stack
..., value ..., result
Description
The value on the top of the operand stack must be of type float
. It is popped from the operand stack and converted to an int
. The result is pushed onto the operand stack:
- If the value is NaN, the result of the conversion is an
int
0.
- Otherwise, if the value is not an infinity, it is rounded to an integer value V, rounding towards zero using IEEE 754 round-towards-zero mode. If this integer value V can be represented as an
int
, then the result is the int
value V.
- Otherwise, either the value must be too small (a negative value of large magnitude or negative infinity), and the result is the smallest representable value of type
int
, or the value must be too large (a positive value of large magnitude or positive infinity), and the result is the largest representable value of type int
.
Notes
The f2i instruction performs a narrowing primitive conversion (§2.6.3). It may lose information about the overall magnitude of value, and may also lose precision.