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