题目:
考虑把两个n位二进制整数加起来的问题,这两个整数分别存储在两个n元数组A和B中。这两个整数的和应按二进制形式存储在一个(n+1)元数组C中。请给出该问题的形式化描述,并写出伪代码。
using namespace std;
const int N = 8;
int main()
{
int a[N] = {1,0,1,1,0,1,1,1};
int b[N] = {0,1,1,0,0,1,0,1};
//多一位
int c[N+1];
int flag = 0; //进位标识
for (int i =N; i>0; i--) {
//位数和标识相加
c[i] = a[i-1]+b[i-1]+flag;
if (c[i]>1) {
//得到除数
c[i] =c[i]%2;
//跳到这里 进一位的时候就会把位数+1
flag=1;
}else{
flag=0;
}
//在i =7的石斛就跳到这里了 会把 c[8]位置设置成标识1或者0
c[0] =flag;
}
for (int b =0; b<9; b++) {
cout<
网友评论