• BigInteger


    在用C或者C++处理大数时感觉非常麻烦,但是在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大.

    这两个类都在java.math.*包中,因此每次必须在开头处引用该包。

    1.  包含:import java.math.*;

    2.  申请:

    单个元素:BigInteger a, b; BigDecimal a, b;

    数组:

    BigInteger a[];

    a = new BigInteger[1024];

    BigDecimal a[];

    a = new BigDecimal[1024];

    3.  赋值:

    a[1] = BigDecimal.valueOf(1);

    a[1] = BigInteger.valueOf(1);

    4.  加减乘除:

    BigInteger a, b;

    a = BigInteger.valueOf(1);

    b = BigInteger.valueOf(2);

    System.out.println(a.add(b));

    System.out.println(a.subtract(b));

    System.out.println(a.multiply(b));

    System.out.println(a.divide(b));

     

           BigDecimal a, b;

           a = BigDecimal.valueOf(5);

           b = BigDecimal.valueOf(3);

           System.out.println(a.add(b));

           System.out.println(a.subtract(b));

           System.out.println(a.multiply(b));

           System.out.println(a.divide(BigDecimal.valueOf(1)));

           //这里要整除,否则会RE

           System.out.println(a.divide(b, 4, 4));

           //这里不太明白第3个参数是什么意思

           System.out.println(a.divide(b, 4, BigDecimal.ROUND_HALF_UP));

           //这里第二个参数是保留位数,第三个参数是进位方式。

    5.  比较大小:

    BigDecimal a, b;

           a = BigDecimal.valueOf(5);

           b = BigDecimal.valueOf(3);

           if(a.compareTo(b) > 0)

               System.out.println("a is greater than b");

           else if(a.compareTo(b) == 0)

               System.out.println("a is equal to b");

           else if(a.compareTo(b) < 0)

               System.out.println("a is lower than b");

  • 相关阅读:
    客户端与服务器持续同步解析(轮询,comet,WebSocket)
    JQuery批量上传插件Uploadify使用详解及参数说明
    win7下安装配置tomcat,java运行环境
    我在Facebook工作的十大经验分享
    jquery submit方法在IE6下的诡异bug
    小练一下canvas版简单时钟与css3版漂亮时钟
    全面解析jquery实现回车键提交表单
    IE8页面加载速度测试
    微软发布Visual Studio 2008 SP1
    开发人员为什么要支持非IE浏览器的四个故事
  • 原文地址:https://www.cnblogs.com/czyhhxx/p/6516865.html
Copyright © 2020-2023  润新知