Advertisement

开发大整数支持高精度加法运算

阅读量:

昨日参加笔试时,遇到了这样一个问题:假设系统需要处理超出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)

还没有任何评论哟~