开发大整数支持高精度加法运算
发布时间
阅读量:
阅读量
昨日参加笔试时,遇到了这样一个问题:假设系统需要处理超出long类型长度范围的超大整数,请设计一种数据结构用于存储此类巨型数值,并提出一种算法以实现超大整数的加法运算。实际上,这一问题的解决方案较为直接,可以通过字符串类型来保存超大整数。当对两个以字符串形式存储的超大整数进行加法运算时,首先应比较它们的长度,在较短的字符串前补零,使其长度一致。随后从末尾依次取出每一位数字进行相加,并处理进位问题。相关代码如下:
public String numAdd(String a,String b){
String str="";
int lenA=a.length();
int lenB=b.length();
int maxLen=lenA>lenB?lenA:lenB;
int minLen=lenA<lenB?lenA:lenB;
StringBuilder sb=new StringBuilder();
for(int i=0;i<maxLen-minLen;i++){
sb.append("0");
}
if(lenA==minLen){
a=sb.append(a).to
全部评论 (0)
还没有任何评论哟~
