snip_進制轉換代碼段

10進制轉成16進制.html

/*
  程序:10進制轉16進制的C語言實現 
  描述:
  關鍵: 得到餘
         得到整
		 整爲零
		 則退出 
*/ 
#include<stdio.h>
#define N 	10
#define k 	16
void tranDemi2Hex(int num) 
{ 
    int arr[N],i;      
    for (i=0;i <N;i++)  //限制最大的轉換位數。 
    { 
        arr[i]=num%k;   //$KEY$
        num=num/k; 
        if (num==0) 
            break; 
    } 
    printf("轉換爲%d進制數爲: ",k); 
    for (;i>=0;i--)        //倒着輸出過來。 
//        switch (arr[i]) 
//        { 
//        case 10: printf("A");break; 
//        case 11: printf("B");break; 
//        case 12: printf("C");break; 
//        case 13: printf("D");break; 
//        case 14: printf("E");break; 
//        case 15: printf("F");break; 
//        default: printf("%d",arr[i]); 
//        }
      if(arr[i]>=10) {
	       char c = 55+arr[i]; //A=65=55+10
		   printf("%c",c);  
	  } else {
	  	   printf("%d",arr[i]);
	  }  
    printf("\n"); 
}
 
int main()
{
	int num;
    printf("請輸入要轉換的十進制數:\n"); 
            scanf("%d",&num); 
			tranDemi2Hex(num);
	return 0;
}
相關文章
相關標籤/搜索