Java Math.IEEEremainder() 方法

java.lang.Math.IEEEremainder() 返回计算在规定IEEE 754标准的两个参数的余数运算。其余的值在数学上等于f1- f2 x n,其中n是整数数学最接近商f1 / f2的精确的数学值,并且如果两个整数都同样接近f1 / f2,则n是整数,该整数是偶数。如果余数是零,它的符号是相同的,第一个参数的符号。

1 语法

public static double IEEEremainder(double a, double b)  

2 参数

a :第一个参数  
b :第二个参数

3 返回值

当a除以b时,它将返回余数。  

  • 如果两个参数的余数为零,则其符号与第一个参数的符号相同。
  • 如果第一个参数是无限大,则此方法将返回NaN。
  • 如果第二个参数为正零或负零,则此方法将返回NaN。
  • 如果任何一个参数为NaN,则此方法将返回NaN。
  • 如果第一个参数是有限的,第二个参数是无穷大,则此方法将返回第一个参数的值。

4 示例1

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = 387.1;
        double b = 4.2;
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

0.7000000000000064

5 示例2

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = -45.0;
        double b = 5.0;
        // a的符号为负,输出为负零  
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

-0.0

6 示例3

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = 1.0/0;
        double b = 5;
        // 第一个参数为无穷大,输出为NaN  
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

NaN

7 示例4

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = 63;
        double b = 0;
        // 第二个参数为零,输出为NaN
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

NaN

8 示例5

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = 0.0/0;
        double b = 36;
        // 第一个参数是NaN,输出NaN  
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

NaN

9 示例6

package com.yiidian;

/**
 * 一点教程网: http://www.yiidian.com
 */
public class Demo
{
    public static void main(String[] args)
    {
        double a = 27.13;
        double b = 1.0/0;
        // 第二个参数为无穷大,输出第一个参数
        System.out.println(Math.IEEEremainder(a, b));
    }
}

输出结果为:

27.13

 

热门文章

优秀文章