0

私は次の cout<< 1100001011000100110001101100100 を持っています

これから一度に 16 ビットを選択し、次の方法で配列に保存します。

  1. 最初の 16 ビットを配列に保存する
  2. 次の 16 ビットを選択し、同じ配列に追加して保存 //バイナリ加算
  3. 残りのビットが 16 未満の場合は、別の 16 を選択し、残りの 16 ビットの後に 0 ビットをパディングして、その長さを 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