您的位置:首页 > 其它

Divein_day03_进制转换 十进制到其他进制的转换

2015-03-11 21:37 288 查看
//

//  main.c

//  binaryTo0x

//

//  Created by apple on 15/3/11.

//  Copyright (c) 2015年 diveinedu. All rights reserved.

//

#include <stdio.h>

#include "string.h"

#include "Header.h"

int main(int argc,
const char * argv[]) {

    // insert code here...

    
   
int n, b;

    printf("please enter a number \n");

    printf("请输入想要转换的进制\n");
   
scanf("%d %d",&n,&b);

   
printf("%d...%d\n",n,b);

    

    jinzhizhuanhuan(n, b);

//    oct2binary(n);

 //   octTo0x(n);

    

//    printf("Hello, World!\n");
   
return 0;
}

void oct2binary(int num){

    
   
int result[32];      
// 定义一个固定容器用于存储二进制位

    
   
int i = 0;
   
while (num > 0 ) {

        
        result[i++] = num %
2;    // 模 2
求二进制位
然后储存在result中

//        num = num / 2;             //
除 2  用于继续计算
二进制位
        num = num >>
1;

        //      i++
    }

    
   
for (int j = i -
1; j>=0; j--) {

        
       
printf("%x",result[j]);

    
    }
   
printf("\n");

    
}

void octTo0x(int num){

    
   
int i = 0;
   
int result[32];
   
while (num > 0) {

        
        result[i++] = num %
16;
        num = num /
16;
    }

    
   
for (int j = i -
1; j>=0; j--) {

        
       
printf("%x",result[j]);

    
    }
   
printf("\n");
}

void jinzhizhuanhuan(int num,
int a){

    
   
int i = 0;
   
int result[32];
   
while (num > 0) {

        
        result[i++] = num % a;
        num = num / a;

    
    }

    
   
for (int j = i -
1; j>=0; j--) {

        
       
printf("%0x",result[j]);

        
    }
   
printf("\n");
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: