天天看點

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++實作十進制與二進制之間的互相轉換