0

我有以下 cout<< 1100001011000100110001101100100

我想一次选择 16 位并以下列方式将其保存到数组中:

  1. 将前 16 位保存到数组中
  2. 选择接下来的 16 位并添加到同一个数组并保存 //二进制加法
  3. 选择另外 16 个,如果没有剩余的位 <16 在剩下的位之后填充零位以使其长度为 16
    位,然后在 2 中重复加法。
  4. 在求和和保存结束时...查看最后一个和的数组长度是否 > 16 位...这意味着有一个额外的进位位....以这种方式将零位填充到该进位位:0000000000000001(第 16 位进位)并添加到数组中的最终总和

这是我的代码:

#include <iostream>
using namespace std;

int main()
{
    char character;
    int i;
    int m[8];


    cout<<"Please enter a character string: ";
    cin>>character;
    cout<<"You've entered "<<character<<endl; 
    //i entered abcd it gives me 01100001011000100110001101100100 in cout. how should i save this         
    as a continuous array? 
    for(i=0;i<8;i++)
    {
        m[i]=character%2;
        character = character/2;
    }

    int top, bottom;

    for(bottom=0,top =7; bottom<8; bottom++,top--)
    {
        m[bottom]=m[top];
        cout<<m[top];
    }

    return 0;
     }        
4

0 回答 0