精華區beta C_and_CPP 關於我們 聯絡資訊
※ 引述《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