c++实现二进制转换十进制的三种方法

复制代码
//法一:
#include<iostream>
#include<math.h>
using namespace std;
    int main(void){
    int num[10];
    int n,i=0,m=0;
    cin>>n;
    while(n){
        num[i]=n%10;
        i++;
        n=n/10;
    }
    i--;
    while(i>=0){
        if(num[i]==1){
        m+=pow(2.0,i);
        }
        i--;
    }
    cout<<m<<endl;
    return 0;
}
复制代码
复制代码
//法二
#include<iostream> #include<math.h> using namespace std; int main(void){ char ch; int num=0; cout<<"请输入二进制数:"; while(ch=getchar(),ch!='\n'){ num=num*2+(ch-'0'); } cout<<"转换为十进制为:"<<num<<endl; }
复制代码
复制代码
//法三
#include<iostream>
using namespace std;
int main(void){
    int n,r,w=1;
    double result=0;
    cout<<"请输入一个二进制数:";
    cin>>n;
    do{
        r=n%10;
        result=result+r*w;
        w=w*2;
        n=n/10;
    }while(n!=0);
    cout<<result<<endl;
    system("pause");
    return 0;
}
复制代码

 

 

posted @   旺仔喔喔糖  阅读(6220)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2021-03-30 WiMAX技术为何消失
点击右上角即可分享
微信分享提示