java實現二進制的加法


public static void main(String[] args) {
        System.out.println(add("1010","1"));            
    }
    
    public static String add(String a,String b){
        StringBuilder sb=new StringBuilder();
        int x=0; 
        int y=0;
        int pre=0;//進位
        int sum=0;//存儲進位和另兩個位的和
        
        while(a.length()!=b.length()){//將兩個二進制的數位數補齊,在短的前面添0
            if(a.length()>b.length()){
                b="0"+b;
            }else{
                a="0"+a;
            }
        }
            for(int i=a.length()-1;i>=0;i--){
                x=a.charAt(i)-'0';
                y=b.charAt(i)-'0';
                sum=x+y+pre;//從低位做加法
                if(sum>=2){
                    pre=1;//進位
                    sb.append(sum-2);
                }else{
            pre=0; sb.append(sum); } }
if(pre==1){
          sb.append(
"1"); } return sb.reverse().toString();//翻轉返回 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM