java BigInteger使用

  虽然说我不怎么会用java写一些东西,但是java里的biginteger我还是很喜欢的。这个类解决了,我们在其他很多语言中遇到的问题:大数。比如在C++中我们要计算一个大小超过long long的数就必须采取很多的代码来解决。简单一点的课余采取用几个数来存数,复杂的我们就要用到字符串的处理通过,通过字符串我们能够处理任意大的数(理论上,实际由于内存之类的原因还是不行的)。

  但是使用字符串的形式实现的方式是十分复杂的。我们就最简单的加法为例说明一下,并展望一下乘法甚至是除法的处理方式。字符串处理大数的本质就是“手工计算”,,这里的手工当然不是让你离开电脑去自己算,而是说让电脑按照我们手算的方式进行计算,只是用字符串储存一切结果。比如加法我们使用的方法就是字符串中的每个字符一位一位加,并且自己实现进位功能。下面给一个例子:

如果说加法的复杂程度还可以接受那你还而已考虑一下乘法。。。

  好了废话不多说,介绍一下主角:

  BIgInteger是java中math包里面的一个类,它可以提供各种各样的大数操作,具体的参考api文档自然是最好的,我这里就只给出一个例子,里面调用的是转换函数,可以简单完成字符串到大数的转换。(个人觉的算是复杂一点的应用了)

* To change this template, choose Tools | Templates 3 * and open the template in the editor. bigfor2013; 7 import java.math.*; 8 import java.util.*; 9 import java.io.*; * lenovo Bigfor2013 { args the command line arguments main(String[] args) {Scanner cin=new Scanner(new BufferedInputStream(System.in));22 BigInteger a,b;23a=cin.nextBigInteger();24int from ,to;25from =cin.nextInt();26to=cin.nextInt();27 String s;28s=cin.next();29BigInteger c=new BigInteger(s,from);30 System.out.println(c.toString(to));31 }32 }忍耐力较诸脑力,尤胜一筹。

java BigInteger使用

相关文章:

你感兴趣的文章:

标签云: