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

递归函数实现十进制正整数转换为二进制,八进制,十六进制

程序员文章站 2022-07-15 09:33:41
...

这个代码仅局限于正整数,新人初来,多多关照,谢谢谢谢

#include<stdio.h>
int main()
{
    int n;
    printf("输入要转化的十进制正整数:");
    scanf("%d",&n);

    printf("二进制为:");
    jinzhi_2(n);
    printf("\n");

    printf("八进制为:");
    jinzhi_8(n);
    printf("\n");

    printf("十六进制为:");
    jinzhi_16(n);
    printf("\n");
}
void jinzhi_2(int n)
{
 if(n>1){
        jinzhi_2(n/2);      //简单函数的递归,从递归的最里面开始输出,即可实现余数的逆序输出
    }
    printf("%d",n%2);
}
void jinzhi_8(int n)
{
 if(n>7){
        jinzhi_8(n/8);
    }
    printf("%d",n%8);
}
void jinzhi_16(int n)
{
    if(n>15){
        jinzhi_16(n/16);
    }
    printf("%d",n%16);
}