二進制的加法基於JAVA實現

import java.util.*;
public class erjinzhi {
        public static void main(String[] args) {
            Scanner reader=new Scanner(System.in);
            while(reader.hasNext())
            {
                String a,b;
                a=reader.next();
                b=reader.next();
                int m=a.length();
                int t=0;
                int ss[]=new int [m];
                int dd[]=new int [m];
                int ww[]=new int[m];
                for(int i=0;i<m;i++)
                {
                    ss[i]= (int) a.charAt(i);
                    dd[i]= (int)  b.charAt(i);
                    ww[i]=ss[i]+dd[i]-96; /********************/
                }
            do{
                t=0;
                for(int j=m-1;j>0;j--)
                {
                    if(ww[j]>1)
                    {
                        ww[j-1]+=ww[j]/2;   
                        ww[j]%=2;
                    }
                }
                if(ww[0]>1)
                {
                    t=ww[0]/2;
                    ww[0]%=2;
                }
                if(t!=0)
                    ww[m-1]+=t;
            }while(t!=0);
                for(int i=0;i<m;i++)
                {
                    System.out.print(ww[i]);

                }
            }
            }
}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章