Java Math IEEEremainder()方法對指定的參數(shù)執(zhí)行除法運算,并根據(jù)IEEE 754標準返回余數(shù)。
IEEEremainder()方法的語法為:
Math.IEEEremainder(double x, double y)
注意:IEEEremainder()方法是靜態(tài)方法。因此,我們可以使用類名Math直接調(diào)用該方法。
x - 被除數(shù)
y - 除數(shù)
根據(jù)IEEE 754標準返回余數(shù)
class Main { public static void main(String[] args) { //聲明變量 double arg1 = 25.0; double arg2 = 3.0; //在arg1和arg2上執(zhí)行Math.IEEEremainder() System.out.println(Math.IEEEremainder(arg1, arg2)); // 1.0 } }
Math.IEEEremainder()方法和%運算符返回的余數(shù)等于arg1 - arg2 * n。但是,n的值不同。
IEEEremainder() - n是最接近arg1/arg2的整數(shù)。而且,如果arg1/arg2返回兩個整數(shù)之間的值,則n是偶數(shù)整數(shù)(即結(jié)果1.5,n=2)
% 運算符 - n是arg1/arg2的整數(shù)部分(對于結(jié)果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 // 使用 % operator System.out.println(arg1 % arg2); // 4.0 } }
在上面的示例中,我們可以看到IEEEremainder()方法和%運算符返回的余數(shù)不同。這是因為,
對于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