java二进制加法
时间: 2023-08-06 08:05:42 浏览: 77
Java 中可以使用 Integer 类的方法进行二进制加法,具体实现可以参考下面的示例代码:
```java
public static String addBinary(String a, String b) {
int aIndex = a.length() - 1;
int bIndex = b.length() - 1;
int carry = 0;
StringBuilder sb = new StringBuilder();
while (aIndex >= 0 || bIndex >= 0) {
int sum = carry;
if (aIndex >= 0) {
sum += a.charAt(aIndex--) - '0';
}
if (bIndex >= 0) {
sum += b.charAt(bIndex--) - '0';
}
sb.append(sum % 2);
carry = sum / 2;
}
if (carry != 0) {
sb.append(carry);
}
return sb.reverse().toString();
}
```
这个方法接收两个字符串参数 a 和 b,表示两个二进制数。首先定义两个索引 aIndex 和 bIndex 分别指向字符串 a 和 b 的最后一个字符,同时定义一个进位 carry 初始值为 0。然后循环处理,每次将 a 和 b 对应位置的字符转换成数字相加再加上进位值,计算出当前位的和 sum,并将 sum 对 2 取余数作为当前位置的结果存入 StringBuilder 中。同时计算出进位 carry 值,下一轮循环使用。如果循环结束后 carry 值不为 0,表示还有一位进位,需要将其加入结果中。最后将 StringBuilder 中的结果反转并转换成字符串返回即可。
阅读全文