问题描述
请问一下大于long型的两个数据怎么相加啊
解决方案
解决方案二:
这是我写的一个大整数减法的class。如果实现加法,只须对代码末尾的:sub=a.subtract(b);
不要调用subtract方法,而调用add方法即可。即:sub=a.add(b);
/************************************************************************2736大整数减法Description求2个大的正整数相减的差Input第1行是测试数据的组数n,每组测试数据占2行,第1行是被减数a,第2行是减数b(a>b)。每组测试数据之间有一个空行,每行数据不超过100个字符.Outputn行,每组测试数据有一行输出是相应的整数差SampleInput29999999999999999999999999999999999999999999999999954096567750978508956870567980689709345465465756767686784354353451SampleOutput99999999999999999999999900000000000005409656775097850895687056798068970934546546575676768678435435344**********************************************************************//****@jiangzelin2009.4.2*/importjava.util.*;importjava.math.BigInteger;publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);intnum=in.nextInt();BigIntegera=BigInteger.ONE;BigIntegerb=BigInteger.ONE;BigIntegersub=BigInteger.ONE;for(inti=0;i<num;i++){a=in.nextBigInteger();b=in.nextBigInteger();sub=a.subtract(b);System.out.println(sub);}}}
解决方案三:
先考虑好如何表示,再考虑加的问题
解决方案四:
引用2楼ZangXT的回复:
先考虑好如何表示,再考虑加的问题
就用字符串表示吧,呵呵。
解决方案五:
关注
解决方案六:
我记着DOUBLE好像要比LONG长,改成DOUBLE可能能行
解决方案七:
double和long一样长
解决方案八:
long和double在Java里都是64位的
解决方案九:
java有大数运算包。。。
解决方案十:
读进来两个大数并相加的代码:importjava.util.*;importjava.math.BigInteger;publicclassMain{publicstaticvoidmain(String[]args){Scannerin=newScanner(System.in);BigIntegera=BigInteger.ONE;BigIntegerb=BigInteger.ONE;BigIntegeradd=BigInteger.ONE;a=in.nextBigInteger();b=in.nextBigInteger();add=a.add(b);System.out.println(add);}}
解决方案十一:
我觉得应该用科学计数法表示!可以自己实现!