【发布时间】:2022-01-04 21:53:42
【问题描述】:
我需要 2 个字符串(10 位二进制数)。当我添加 1+0 0+0 时我很容易 但是我如何修改它,以适应我需要制作 11 位的情况 喜欢 1010101010+1111111111=11010101001
i = MAX+1;
while( i!=0) {
if ((str1[i - 1] == str2[i - 1]) && (str1[i - 1] == '0' )) {
str3[i] = '0';
}
else if ((str1[i - 1] != str2[i - 1])) {
str3[i] = '1';
}
else if ((str1[i - 1] == str2[i - 1]) && (str1[i - 1] == '1')) {
str3[i] = '0';
}
i--;
}
MAX=10
【问题讨论】:
-
在二进制字符串上实现加法有点奇怪。提供涉及将这些字符串转换为整数的答案是否可以接受?对你来说,一个好的答案是什么样的?
-
不,我不能使用转换
-
您似乎没有使用结转。例如:11 + 11 = 110。或者我没有看到它。
-
1+1=0,进位为1。实际上也必须加进位。将 3 个变量中的每一个与 1 进行比较,然后求和。就像添加十进制数一样