十进制数转化为二进制数
程序员文章站
2022-07-15 08:21:54
...
基本思想:
十进制数x----->二进制数y
从个位依次到高位,x依次除以2,余数就是转化后的结果,计算完一位后,x自身除以2,最后当商小于2时,将此时的商作为最高位。
以x=7为例:
x(7)/2=3……1,x=3
x(3)/2=1……1,x=1
此时结束,商 1,作为最高位,接下来是余数,从下往上(从高往低)排,结果:111。
c++代码实现:
#include<bits/stdc++.h>
using namespace std;
int decTobin(int x){
int y,p=1,yu=0;
while(1){
yu=x%2;//余数,作为当前位的结果
x/=2;//商:除以2,以备下一次计算
y+=yu*p;//存储最终的结果
p=p*10;//控制位数
if(x<1){//当商小于1的时候
y+=x*p;//当前商作为最高位
break;//运算结束
}
}
return y;
}
int main(){
int x;
cin>>x;
cout<<decTobin(x)<<endl;
return 0;
}
参考:十进制转二进制
上一篇: 十进制数转化为二进制与十六进制
下一篇: 二进制转化为十进制