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