#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;
}
二进制转十进制
最新推荐文章于 2023-02-08 16:57:49 发布