二进制数相加

2017-06-14  本文已影响22人  做一个有爱的伸手党

题目:

考虑把两个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<

上一篇 下一篇

猜你喜欢

热点阅读