C++将二进制转换为十进制

C++ 专栏收录该内容
2 篇文章 0 订阅

/*题目描述
已知一个只包含 0 和 1 的二进制数,长度不大于 10 ,将其转换为十进制并输出。


输入描述
输入一个二进制整数n,其长度大于0且不大于10


输出描述
输出转换后的十进制数, 占一行
样例输入
110
样例输出
6*/
#include <iostream>
#include <cmath>
using namespace std;


int main(){
string n;
int sum=0;
cout <<"请输入二进制数 :"<<endl;
cin>>n;
if(0<n.length()&&n.length()<=9){
for(int i=0;i<n.size();i++){
if(n[i]=='1'){
int j = pow(2,n.size()-1-i);
sum +=j;
}else if(n[i]!='1'||n[i]!='0'){
cout <<"非法输入!!";
break; 
}
}
}else{
cout <<"超出范围."; 
}
cout <<endl;
cout  <<n <<"转换成十进制为:"<<sum; 
return 0;
  • 1
    点赞
  • 1
    评论
  • 9
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

评论 1 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:大白 设计师:CSDN官方博客 返回首页

打赏作者

woaini123aizheni

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值