java基础-BigInteger类常用方法介绍

                  java基础-BigInteger类常用方法介绍

                                       作者:尹正杰

版权声明:原创作品,谢绝转载!否则将追究法律责任。

一.BigInteger类概述

  Java中long型为最大整数类型,对于超过long型的数据如何去表示呢?在Java的世界中,超过lang型的整数已经不能被称为整数了,他们被封装成BigInteger对象,在BigInteger类中,实现四则运算都是用方法来实现,并不是采用运算符。

  不可变的任意精度的整数。所有操作中,都以二进制补码形式表示 BigInteger(如 Java 的基本整数类型)。BigInteger 提供所有 Java 的基本整数操作符的对应物,并提供 java.lang.Math 的所有相关方法。另外,BigInteger 还提供以下运算:模算术、GCD 计算、质数测试、素数生成、位操作以及一些其他操作。

二.BigInteger的构造方法

  我这里推荐大家以字符串形式进行传参,注意,该字符串里面的每个字符都应该是数字(不要传入空格或者其它字符),当然这个字符串的长度是没有任何限制的。

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:[email protected]
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.math.BigInteger;
10 
11 public class BigIntegerDemo {
12     public static void main(String[] args) {
13         function();
14     }
15     
16     public static void function() {
17         BigInteger number = new BigInteger("31415926535897932384626433832795028841971693993751058209749445923078164");
18         System.out.println(number);
19     }
20     
21 }
22 
23 
24 /*
25 以上代码执行结果如下:
26 31415926535897932384626433832795028841971693993751058209749445923078164
27 */

三.BigInteger类四则运算

 1 /*
 2 @author :yinzhengjie
 3 Blog:http://www.cnblogs.com/yinzhengjie/tag/Java%E5%9F%BA%E7%A1%80/
 4 EMAIL:[email protected]
 5 */
 6 
 7 package cn.org.yinzhengjie.demo;
 8 
 9 import java.math.BigInteger;
10 
11 public class BigIntegerDemo {
12     public static void main(String[] args) {
13         function();
14     }
15     
16     public static void function() {
17         BigInteger a = new BigInteger("31415926535897932384626433832795028841971693993751058209749445923078164");
18         BigInteger b = new BigInteger("23846264338327950288419716939937510582097494459230781");
19         //计算a+b的对象和,调用add方法
20         BigInteger sum = a.add(b);
21         System.out.println(sum);
22         //计算a-b对象的差,调用subtract方法
23         BigInteger sub = a.subtract(b);
24         System.out.println(sub);
25         //计算a*b对象的积,调用multiply方法
26         BigInteger mul = a.multiply(b);
27         System.out.println(mul);
28         //计算a/b对象商,调用方法divied方法
29         BigInteger div = a.divide(b);
30         System.out.println(div);    
31     }
32 }
33 
34 
35 /*
36 以上代码执行结果如下:
37 31415926535897932408472698171122979130391410933688568791846940382308945
38 31415926535897932360780169494467078553551977053813547627651951463847383
39 749152488608513603999872994374188234256575288360473432864084893092280077542647354425843087885751426483655896093467177766084
40 1317435976141693262
41 */

猜你喜欢

转载自www.cnblogs.com/yinzhengjie/p/8910288.html