0
点赞
收藏
分享

微信扫一扫

二进制转十进制


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


举报

相关推荐

0 条评论