English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Java математические методы Math
Метод Java Math IEEEremainder() выполняет деление指定的 параметров и возвращает остаток в соответствии с стандартом IEEE 754.
Синтаксис метода IEEEremainder():
Math.IEEEremainder(double x, double y)
Внимание: Метод Math.IEEEremainder() является статическим. Поэтому мы можем вызвать этот метод напрямую через имя класса Math.
x - Делитель
y - Делимое
Возвращает остаток в соответствии с стандартом IEEE 754
class Main { public static void main(String[] args) { // Объявление переменных double arg1 = 25.0; double arg2 = 3.0; // Выполнение Math.IEEEremainder() на arg1 и arg2 System.out.println(Math.IEEEremainder(arg1, arg2)); // 1.0 } }
Метод Math.IEEEremainder() и оператор % возвращают остаток, равный arg1 - arg2 * n. Но значение n различается.
IEEEremainder() - n — это ближайшее целое к arg1/arg2. Если arg1/arg2 возвращает значение между двумя целыми числами, то n — это даже целое число (т.е. результат 1.5, n=2).
Оператор % - n — это целая часть arg1/arg2 (для результата 1.5, n=1).
class Main { public static void main(String[] args) { // Объявление переменных double arg1 = 9.0; double arg2 = 5.0; // Использование метода Math.IEEEremainder() System.out.println(Math.IEEEremainder(arg1, arg2)); // -1.0 // Использование оператора % System.out.println(arg1 % arg2); // 4.0 } }
В примере выше мы можем видеть, что результат remainder() метода IEEE и оператора % различается. Это потому, что:
Для Math.IEEEremainder()
arg1/arg2 => 1.8 // IEEEremainder() n = 2 arg - arg2 * n => 9.0 - 5.0 * 2.0 => -1.0
Для оператора %
arg1/arg2 => 1.8 // оператор % n = 1 arg1 - arg2 * n => 9.0 - 5.0 * 1.0 => 4.0