二进制转十进制

来源:互联网 发布:kad网络连接不上 编辑:程序博客网 时间:2024/06/12 10:05
#include<iostream>#include<string>#include<cmath>using namespace std;//二进制转十进制 int binaryToTen(string binary);//判断是否是二进制 bool isBinary(string binary); int main(){    while(true)    {        string binary;        cout<<"请输入二进制数"<<endl;        getline(cin,binary);        int result;        result=binaryToTen(binary);         if(result==-1)        {            cout<<"不是二进制,转换失败"<<endl<<endl;        }        else        {            cout<<"对应的二进制数为 "<<result<<endl<<endl;        }    }    return 0;}int binaryToTen(string binary){    if(isBinary(binary)!=true)    {        return -1;    }    int result=0;    int c=0;    for(int i=binary.length()-1;i>=0;i--)    {               if(binary.at(i)=='1')        {            result+=pow(2,c);                               }           c++;        }    return result;  }bool isBinary(string binary){       bool isBinary=true;     for(int i=0;i<binary.length();i++)    {        if(binary[i]!='0'&&binary[i]!='1')        {            isBinary=false;         }           }    return isBinary;}
原创粉丝点击