美文网首页
二进制数相加

二进制数相加

作者: 做一个有爱的伸手党 | 来源:发表于2017-06-14 23:18 被阅读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<

    相关文章

      网友评论

          本文标题:二进制数相加

          本文链接:https://www.haomeiwen.com/subject/iaoeqxtx.html