※ 引述《mexwell.bbs@cszone.cc.ntu.edu.tw (mexwell)》之銘言:
> 請問各位先進一個小問題!!
> 如果我現在存一個十進位數字於 a變數中
> 如何將之轉成16進位???
> 如a存1000
> 轉成16進位表示的1000(假設沒有overflow)
> (有function可以達成此目的嗎??)
> 不勝感激!!謝謝
這是以前一位網友的進位轉換的程式...非常好用..非常謝謝他
你參考看看...
#include <stdio.h>
#define H 7 /* 在這裡指定進位法 此例是七進位*/
main()
{
char table[16]={'0','1','2','3','4','5','6','7','8','9',
'a','b','c','d','e','f'}; /*轉換表*/
int d;
int i=0;
int f;
int bi[30];
int max;
printf("Enter a value:");
scanf("%d",&d);
do
{
f=d%H; /*求餘數*/
d=d/H; /*求商*/
bi[i]=f;
i++;
}while(d>=H);
bi[i++]=d;
max=i;
printf("The result:");
for(i=max-1;i>-1;i--)
printf("%c",table[bi[i]]);
}
--
※ Origin: 筑楓之星 <bbs.mhit.edu.tw>
◆ From: 203.68.224.57