
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的娴熟度也不足百分
大数据、云计算、人工智能等也只略知一二
虚心万事能成,自满十事九空
涵爸愿虚心学习
不辜负此“高手”二字
标签三:老师(这是自己未来的定位,还需努力)
孩子的教育大于一切
于是我放弃了高薪
编程的普及大势所趋
于是我趟了这趟浑水
能力一般,水平有限
涵爸定当全力以赴
为大家分享最优质的信息
做出最专业的课堂
关注涵爸了解更多少儿编程知识。