私は次の cout<< 1100001011000100110001101100100 を持っています
これから一度に 16 ビットを選択し、次の方法で配列に保存します。
- 最初の 16 ビットを配列に保存する
- 次の 16 ビットを選択し、同じ配列に追加して保存 //バイナリ加算
- 残りのビットが 16 未満の場合は、別の 16 を選択し、残りの 16 ビットの後に 0 ビットをパディングして、その長さを 16
ビットにし、2 で加算を繰り返します。 - 合計と保存の最後に...最後の合計で配列の長さが> 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;
}