进制转换代码!十进制转二进制到十五进制~

目的-做一个程序,将输入的十进制数字转化为二进制到十五进制中的任意形式

思路

  • 如要将一个十进制的数字转化为二进制的数,就是要不断地除于2,将每一次的余数拿出来,直到除到结果小于2,再将最后这个数拿出来,将每一次的余数倒序输出就为结果啦,其他进制的数同理。
  • 每次除余拿出余数要设计一个循环,倒序输出需要一个方法,下面会介绍。

步骤

1. 接受用户要选择转化为几进制

#include 

int main(){
        int num;
    printf("请输入数字:");
    scanf("%d",&num);
    
    int jinzhi;
    
    printf("你要转化为几进制的数字:"); 
    scanf("%d",&jinzhi);

2.倒序输出的方法

例,将 00101 倒序输出转化为 10100
方法 :将00101其看成10100的个位是0十位是0百位是1千位是0万位是1,即 1x0 + 10x0 + 100x1 + 1000x0 + 10000x1 =10100

        int wei = 1;
    long long sum = 0;
    while(1){
        
        int yu = num % jinzhi;
        num = num / jinzhi;  
        
        //目前的总和:当前位数的值 + 之前的值 
        sum = sum + yu * wei;//0 
        
        wei = wei * 10 ;//1*10 100 1000 
        
        if(num < jinzhi){
            sum = sum + num * wei;
            break;
        } 
    } 
    printf("%d\n", sum);
    return 0;
}

3.结束

你可能感兴趣的:(进制转换代码!十进制转二进制到十五进制~)