天天看点

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换
c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

1、十进制转换二进制

十进制对2整除,得到的余数的倒序即为转换而成的二进制

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

(十进制转换二进制示意图)

转换函数

#include#include#include#include#includeusing namespace std;void convert_10_to_2(int num){    vector<int> ivec;    int Num = num;  //存储原数据    //对原数据循环求除以2的余数,并存储在vector对象中    while (num != 0)    {        ivec.push_back(num % 2);        num = num / 2;    }     //对求得的余数倒序排序并存储在vector中,求得二进制    vector<int>::size_type sz = ivec.size();    vector<int> ivec2;    for (vector<int>::size_type index = 0; index != sz; ++index)        ivec2.push_back(ivec[sz - 1 - index]);     //输出十进制转换为二进制的数    cout <"十进制转二进制后为:";    for (auto item : ivec2)        cout << item;    cout << endl<<endl;}
           

主函数调用

#include#include#include#include#includeusing namespace std;int main(){        int N;    cout << "Please enter the number: ";    cin >> N;    cout << endl;     //十进制转二进制的声明和调用    void  convert_10_to_2(int num);    convert_10_to_2(N);}
           

运行结果

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

2、二进制转换十进制

将二进制从右往左从零次幂开始乘以二进制数并求和

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

(二进制转换十进制示意图)

转换函数

#include#include#include#includeusing namespace std;double convert_2_to_10(){    //输入二进制数并存储在vector变量ivec2中    cout << "Please enter the ErJInZhi numbers:  " << endl;    int n;    vector<int> ivec2;    while (cin >> n)    {        ivec2.push_back(n);    }     //二进制转十进制计算    double sum = 0, times;    vector<int>::size_type sz = ivec2.size();    for (vector<int>::size_type index = 0; index != sz; ++index)    {        times = pow(2, sz - 1 - index);        sum += ivec2[index] * times;    }     //输出转化后的结果    cout << "2进制——";    for (vector<int>::size_type index = 0; index != sz; ++index)        cout << ivec2[index];    cout << "转10进制为:";    cout << sum << endl;    return 0;}
           

主函数调用

#include#include#include#include#includeusing namespace std;int main(){    double convert_2_to_10();    convert_2_to_10();    return 0;}
           

运行结果

(输入二进制时要以空格区分)

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换
c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

添加涵爸微信,共同交流

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换

~关于涵爸的介绍

标签一:奶爸(这是我最自豪的,没有之一)

8年奶爸生涯刚结束

新一轮奶爸生涯又开始

小二宝悄悄降临

笑声不断,欢乐无穷

标签二:编程高手(这是我给自己封的,有待认可)

才疏学浅,短见薄识

软件开发只有10多年的经验

掌握的C++和Java技能还不够出神入化

前端HTML、CSS、JS的娴熟度也不足百分

大数据、云计算、人工智能等也只略知一二

虚心万事能成,自满十事九空

涵爸愿虚心学习

不辜负此“高手”二字

标签三:老师(这是自己未来的定位,还需努力)

孩子的教育大于一切

于是我放弃了高薪

编程的普及大势所趋

于是我趟了这趟浑水

能力一般,水平有限

涵爸定当全力以赴

为大家分享最优质的信息

做出最专业的课堂

关注涵爸了解更多少儿编程知识。

c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换
c++二进制转十进制_日积月累:C++实现十进制与二进制之间的互相转换