Сложение двоичных чисел

Кто-нибудь знает, как сложить 2 двоичных числа, введенных как двоичные, в Java?

Например, 1010 + 10 = 1100.

16
задан Ephemera 7 March 2013 в 06:44
поделиться

1 ответ

Try this, tested with binary and decimal and its self explanatory

public String add(String s1, String s2, int radix){
        int s1Length = s1.length();
        int s2Length = s2.length();
        int reminder = 0;
        int carry = 0;
        StringBuilder result = new StringBuilder();
        int i = s1Length -1;
        int j = s2Length -1;
        while (i >=0 && j>=0) {
            int operand1 = Integer.valueOf(s1.charAt(i)+"");
            int operand2 = Integer.valueOf(s2.charAt(j)+"");
            reminder = (operand1+operand2+carry) % radix;
            carry = (operand1+operand2+carry) / radix;
            result.append(reminder);
            i--;j--;
        }
        while(i>=0){
            int operand1 = Integer.valueOf(s1.charAt(i)+"");
            reminder = (operand1+carry) % radix;
            carry = (operand1+carry) / radix;
            result.append(reminder);
            i--;
        }
        while(j>=0){
            int operand1 = Integer.valueOf(s2.charAt(j)+"");
            reminder = (operand1+carry) % radix;
            carry = (operand1+carry) / radix;
            result.append(reminder);
            j--;
        }
        return result.reverse().toString();
    }
}
0
ответ дан 30 November 2019 в 15:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: