Двоичное сложение в Java: методы сложения двоичных чисел

Чтобы сложить два двоичных числа в Java, вы можете использовать несколько методов. Вот несколько подходов:

Метод 1: использование Integer.parseInt() и Integer.toBinaryString()

public static String addBinary(String a, String b) {
    int x = Integer.parseInt(a, 2);
    int y = Integer.parseInt(b, 2);
    int sum = x + y;
    return Integer.toBinaryString(sum);
}

Метод 2. Использование StringBuilder и переноса

public static String addBinary(String a, String b) {
    StringBuilder result = new StringBuilder();
    int carry = 0;
    int i = a.length() - 1;
    int j = b.length() - 1;
    while (i >= 0 || j >= 0 || carry != 0) {
        int sum = carry;
        if (i >= 0)
            sum += a.charAt(i--) - '0';
        if (j >= 0)
            sum += b.charAt(j--) - '0';
        result.insert(0, sum % 2);
        carry = sum / 2;
    }
    return result.toString();
}

Метод 3. Использование побитовых операций

public static String addBinary(String a, String b) {
    int x = Integer.parseInt(a, 2);
    int y = Integer.parseInt(b, 2);
    int carry;
    while (y != 0) {
        carry = x & y;
        x = x ^ y;
        y = carry << 1;
    }
    return Integer.toBinaryString(x);
}