Java Reference
In-Depth Information
Otherwise, the product is rounded to the nearest value in the chosen value set using
IEEE 754 round-to-nearest mode. The Java programming language requires sup-
port of gradual underflow as defined by IEEE 754 (§ 4.2.4 ).
Despite the fact that overflow, underflow, or loss of information may occur, evaluation of a
multiplication operator * never throws a run-time exception.
15.17.2. Division Operator /
The binary / operator performs division, producing the quotient of its operands. The left-
hand operand is the dividend and the right-hand operand is the divisor .
Integer division rounds toward 0 . That is, the quotient produced for operands n and d that
are integers after binary numeric promotion (§ 5.6.2 ) is an integer value q whose magnitude
is as large as possible while satisfying | d · q | ≤ | n |. Moreover, q is positive when | n | ≥ | d | and
n and d have the same sign, but q is negative when | n | ≥ | d | and n and d have opposite signs.
There is one special case that does not satisfy this rule: if the dividend is the negative in-
teger of largest possible magnitude for its type, and the divisor is -1 , then integer overflow
occurs and the result is equal to the dividend. Despite the overflow, no exception is thrown
in this case. On the other hand, if the value of the divisor in an integer division is 0 , then an
ArithmeticException is thrown.
The result of a floating-point division is determined by the rules of IEEE 754 arithmetic:
• If either operand is NaN, the result is NaN.
• If the result is not NaN, the sign of the result is positive if both operands have the
same sign, and negative if the operands have different signs.
• Division of an infinity by an infinity results in NaN.
• Division of an infinity by a finite value results in a signed infinity. The sign is de-
termined by the rule stated above.
• Division of a finite value by an infinity results in a signed zero. The sign is determ-
ined by the rule stated above.
• Division of a zero by a zero results in NaN; division of zero by any other finite
value results in a signed zero. The sign is determined by the rule stated above.
• Division of a nonzero finite value by a zero results in a signed infinity. The sign is
determined by the rule stated above.
• In the remaining cases, where neither an infinity nor NaN is involved, the exact
mathematical quotient is computed. A floating-point value set is then chosen:
Search WWH ::




Custom Search