十進制轉二進制、八進制、十六進制的經典程序


http://blog.csdn.net/e_wsq/article/details/14503675

遞歸方法解決10進制向其他進制轉換的問題;

#include <stdio.h>
void fun_1(int n);
void fun_2(int n);
void fun_4(int m);
int main(){
    fun_1(10);
    printf("\n");
    fun_2(32);
    printf("\n");
    fun_4(170);
    printf("\n");
    return 0;
}

//十進制轉二進制
void fun_1(int n){
    if(n<2){
        printf("%d",n);
    }else if(n>=2){
        fun_1(n/2);
        printf("%d",n%2);
    }
}

//十進制轉八進制
void fun_2(int n){
    if(n<8){
        printf("%d",n);
    }else if(n>=8){
        fun_2(n/8);
        printf("%d",n%8);
    }
}

//十進制轉十六進制

void fun_3(int n){
    switch (n){

    case 10: printf("%c",'A');    break;
    case 11: printf("%c",'B');    break;
    case 12: printf("%c",'C');    break;
    case 13: printf("%c",'D');    break;
    case 14: printf("%c",'E');    break;
    case 15: printf("%c",'F');    break;
    default : printf("%d", n);;
    }
}

void fun_4(int m){
    if(m<16){
        fun_3(m);
    }else if(m>=16){
        fun_4(m/16);
        fun_3(m%16);
    }
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM