欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

十进制数转化为二进制数

程序员文章站 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;
}  

参考:十进制转二进制