English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник по основам Java

Java Управление потоком

Java Массивы

Java Ориентированность на объекты (I)

Java Ориентированность на объекты (II)

Java Ориентированность на объекты (III)

Обработка исключений Java

Java Списки (List)

Java Очереди (Queue)

Java Карты (Map)

Java Наборы (Set)

Java Вход/Выход (I/O)

Java Reader/Writer

Другие темы Java

Использование метода Java Math IEEEremainder() и примеры

Java математические методы Math

Метод Java Math IEEEremainder() выполняет деление指定的 параметров и возвращает остаток в соответствии с стандартом IEEE 754.

Синтаксис метода IEEEremainder():

Math.IEEEremainder(double x, double y)

Внимание: Метод Math.IEEEremainder() является статическим. Поэтому мы можем вызвать этот метод напрямую через имя класса Math.

Параметры Math.IEEEremainder()

  • x - Делитель

  • y - Делимое

Значение Math.IEEEremainder()

  • Возвращает остаток в соответствии с стандартом IEEE 754

Пример 1: Java Math.IEEEremainder()

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() и оператором %

Метод 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

Java математические методы Math