48是0的ASCII码,49是1的ASCII码,char型占一个字节,四个比特。
#include<iostream>
#include<string.h>
using namespace std;
string Str2Bin (char* str){
int change,k=0,mask=8;
char bit;
char stack[100]={0};
for (short i = 0; i <strlen(str); i++){
for(int j=0;j<4;j++)
{
stack[k++]=(mask&(str[i]-48))?49:48;
mask>>=1;
}
mask=8;
}
return(stack);
}
int main()
{
char str[100];
cin.getline(str,100);
cout<<"你输入的是:"<<str<<endl;
cout<<"转换后是:"<<Str2Bin(str)<<endl;
return 0;
}