
1、十進制轉換二進制
十進制對2整除,得到的餘數的倒序即為轉換而成的二進制
(十進制轉換二進制示意圖)
轉換函數
#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);}
運作結果
2、二進制轉換十進制
将二進制從右往左從零次幂開始乘以二進制數并求和
(二進制轉換十進制示意圖)
轉換函數
#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;}
運作結果
(輸入二進制時要以空格區分)
添加涵爸微信,共同交流
~關于涵爸的介紹
标簽一:奶爸(這是我最自豪的,沒有之一)
8年奶爸生涯剛結束
新一輪奶爸生涯又開始
小二寶悄悄降臨
笑聲不斷,歡樂無窮
标簽二:程式設計高手(這是我給自己封的,有待認可)
才疏學淺,短見薄識
軟體開發隻有10多年的經驗
掌握的C++和Java技能還不夠出神入化
前端HTML、CSS、JS的娴熟度也不足百分
大資料、雲計算、人工智能等也隻略知一二
虛心萬事能成,自滿十事九空
涵爸願虛心學習
不辜負此“高手”二字
标簽三:老師(這是自己未來的定位,還需努力)
孩子的教育大于一切
于是我放棄了高薪
程式設計的普及大勢所趨
于是我趟了這趟渾水
能力一般,水準有限
涵爸定當全力以赴
為大家分享最優質的資訊
做出最專業的課堂
關注涵爸了解更多少兒程式設計知識。