Чтобы сложить два двоичных числа в 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);
}