大数相加,相减,相除,相乘。。。java BigInteger BigDecimal

实习机试时有大数相加,前几天校招有大数相减的题。这种题c,c++可能会比较复杂,在java里却比较简单,因为已经有写好的类和方法供调用了。


在JAVA中有两个类BigInteger和BigDecimal分别表示大整数类和大浮点数类,至于两个类的对象能表示最大范围不清楚,理论上能够表示无线大的数,只要计算机内存足够大。


这两个类都在java.math.*;包中,那当然就要import啦


===================

构造函数:

 一般用到以下两种: 
BigInteger(String val); 
将指定字符串转换为十进制表示形式; 
   BigInteger(String val,int radix); 
将指定基数的 BigInteger 的字符串表示形式转换为 BigInteger 



这一点是必须的,要转化成BigInteger 类型的。

BigInteger   a = new BigInteger("1111111111111111111");

BigInteger  b = new BigInteger("22222222222222222222");


相加 add();

a.add(b);这样才可以


相减  subtract();


相乘  multiply();


相除  divide();


求余  remainder();


当然,,这个BigInteger类中还有好多的方法,取反啊,与,或,等等。。

===============================

至于怎么不用jdk中的函数去实现,这里先不在详说,,有兴趣可以再看看吧。

你可能感兴趣的:(java)