刘俊凯 发表于 2024-7-10 22:52:10

【算法】十进制转换为二进制

目的:将十进制转换为二进制
思绪:
首先我们手算的情况是通过求余数算出进制数,同样代码也是通过做除法和求余数的方式,除法是得出下一次的被除数,而求余数是得到进制数
代码:
#include<stdio.h>

// 十进制转换为二进制,通过除法求余数
void getTwo(int n) {
        // res数组存放结果,div是要转换进制的数,mod是余数,flag是标记存放到数组的位置
    int res={0};
    int div = n;
    int mod = 0;
    int flag;
    for (flag=0; div!=0; flag++) {
            // 如果要是十进制转换为八进制只需要修改下面的2为8即可,但是16进制需要重新写
      mod = div % 2;
      div = div / 2;
      res = mod;
//      res = res * 10 + mod;
    }
   
    // 逆序输出二进制数
        for (int i=flag-1; i>=0; i--) {
                printf("%d",res);
        }
}
int main() {
    int n;
    scanf("%d",&n);
    getTwo(n);
    return 0;
}

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: 【算法】十进制转换为二进制