跳到主要内容

Java Math IEEEremainder() 方法

IEEEremainder() 方法的语法是:

Math.IEEEremainder(double x, double y)

注意IEEEremainder() 方法是一个静态方法。因此,我们可以直接使用类名 Math 来调用该方法。

IEEEremainder() 方法的参数

  • x - 被 y 除的被除数
  • y - 除以 x 的除数

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() 方法
System.out.println(Math.IEEEremainder(arg1, arg2)); // 1.0
}
}

Math.IEEEremainder() 方法与 % 运算符的区别

Math.IEEEremainder() 方法和 % 运算符返回的余数均等于 arg1 - arg2 * n。然而,n 的值不同。

  • IEEEremainder() - narg1/arg2 最接近的整数。如果 arg1/arg2 返回两个整数之间的值,则 n 是偶数(例如,对于结果 1.5,n = 2)。
  • % 运算符 - narg1/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
}
}

在上面的示例中,我们可以看到 IEEEremainder() 方法和 % 运算符返回的余数值不同。原因在于,

对于 Math.IEEEremainder()

   arg1/arg2
=> 1.8

// 对于 IEEEremainder()
n = 2
arg1 - 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