从二进制字符串中一次选取16位并对数组求和并更新?

时间:2013-11-08 09:23:57

标签: c++ arrays binary sum

我有以下cout<< 1100001011000100110001101100100

我希望一次从中选择16位,并按以下方式将其保存到数组中:

  1. 将前16位保存到数组
  2. 选择接下来的16位并添加到同一阵列并保存//二进制加法
  3. 选择另一个16,如果没有剩余的位< 16填充零位后剩下的那些使其长度为16 比特,然后在2中重复添加。
  4. 在求和和保存结束时......看看数组的长度> 16位用于最后一笔...这个 意味着有一个额外的进位......用这样的方式将0位填充到这个进位: 0000000000000001(在第16位进位)并添加到数组中的最后总和
  5. 这是我的代码:

    #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;
         }        
    

0 个答案:

没有答案