我有以下 cout<< 1100001011000100110001101100100
我想一次选择 16 位并以下列方式将其保存到数组中:
- 将前 16 位保存到数组中
- 选择接下来的 16 位并添加到同一个数组并保存 //二进制加法
- 选择另外 16 个,如果没有剩余的位 <16 在剩下的位之后填充零位以使其长度为 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;
}