输入一个正整数(十进制),输出此整数对应的二进制数(用循环实现,但不用数组,也不用函数调用)。
本篇文章使用的是C语言编写,有需要的同学可适当进行参考!
分析:十进制转换成二进制的方式:
用辗转相除依次取余,直到商为0,获取逆序的余数序列就是对应的二进制数,用循环不用数组,因此,将按先得到的余数序列组成一个整数值,再逆序输出该整数值(从低位到高位输出),即获得二进制代码。
代码如下:
#include <iostream>using namespace std;int main(){int n; //待转换的十进制正整数int m; //存每次转换得到的余数int sum=0;//进制转换逆序值int count=0; //记录二进制位数int i;cout<<"请输入待转换的十进制正整数:";cin>>n; while(n<0){ cout<<"请重新输入待转换的十进制正整数:"; cin>>n;}cout<<endl; cout<<"十进制"<<n<<"的二进制形式为:";if(n==0){cout<<n<<endl; return 0;}while(n!=0) //辗转相除取余到商为0{ m=n%2; //获取对应此次的余数 count++; //二进制位数增1 sum=sum*10+m; //余数按先得到顺序组成一个整数,最后反序就是2进制数 n=n/2;} for(i=count;i>0;i--) //循环从低位到高位逆序输出sum各个位上的数{ cout<<sum%10; sum=sum/10;}cout<<endl;return 0;}
本文仅供参考!
推荐教程:PHP视频教程
以上就是php十进制转二进制不用函数的详细内容,更多请关注求知技术网其它相关文章!