数制转换
十进制数N和其他d进制数的转换时计算机实现计算的基本问题,其解决方法很多,其中一个简单的算法基于下列原理:
N = (N div d) X d + N mod d
实现代码
int D[6] = {'A', 'B', 'C', 'D', 'E', 'F'};
//数制转换
void conversion()
{
    int num;
    int d;
    printf("请输入一个非负十进制整数:");
    scanf("%d", &num);
    if(num <= 0) {
        printf("输入错误\n");
        return ;
    }
    printf("请输入进制:");
    scanf("%d", &d);
    SqStack S;
    Init_Stack(S);
    while(num)
    {
        Push(S, num % d);
        num = num / d;
    }
    int e;
    while(!isEmpty(S)){
        Pop(S, e);
        if(e > 9){
            printf("%c", D[e%10]);
            continue;
        }
        printf("%d ", e);
    }
    printf("\n");
}
由于超过10的进制是字母加数字的组合,这份代码之粗略解决了常用的16进制,其他10以上的进制没有解决。
 
                   
                   
                   
                   
                             
       
           
                 
                 
                 
                 
                 
                
               
                 
                 
                 
                 
                
               
                 
                 扫一扫
扫一扫
                     
              
             
                   2万+
					2万+
					
 被折叠的  条评论
		 为什么被折叠?
被折叠的  条评论
		 为什么被折叠?
		 
		  到【灌水乐园】发言
到【灌水乐园】发言                                
		 
		 
    
   
    
   
             
            


 
            