請問我要如何宣告一個變數num接受使用者輸入ff,aa,等16進位表示法呢?
ex void 16to10 ( ???? )
2006-07-25 19:03:29 · 3 個解答 · 發問者 SAYC 5 in 電腦與網際網路 ➔ 程式設計
下面輸入與輸出結果的變數必須宣告為「無號整數」
無號整數的顯示用「%u」來表示,無號整數最大值只到 (FFFFFFFF)h ,8 個 F,假如你要求更大數值,必須自行寫陣列演算法。
//Power by Microsoft Visual Studio 2005
//可以使用 Dev-C++ 編譯此程式
#include
#include
#include
#include
int main(int argc, char *argv[])
{
//=====START=====//
unsigned int hextoint(char *S);
unsigned int nNUM;
char hexString[]="ffffffff";
nNUM=hextoint(hexString);
printf("%u\n",nNUM);
//=====END=====//
system("PAUSE");
return 0;
}
unsigned int hextoint(char *S){//Covert HEX strings to integer
char Hex[17]="0123456789ABCDEF";
unsigned int retInteger=0,nTemp,i,j;
strupr(S);
for(i=0;i
nTemp*=j;
break;
}
}
retInteger+=(nTemp*=(int)pow(16,strlen(S)-i-1));
}
return retInteger;
}
2006-07-25 20:24:56 · answer #1 · answered by Big_John-tw 7 · 0⤊ 0⤋
也對..反正我只是要寫計算機程式..讓使用者能轉換就好了
2006-07-26 08:42:05 · answer #2 · answered by SAYC 5 · 0⤊ 0⤋
偷懶的寫法,可以不用理。
#include
void main()
{
int a;
printf("輸入十六進位值:");
scanf("%x",&a);
printf("%x 的十進位值為:%d\n",a,a);
}
2006-07-26 06:12:51 · answer #3 · answered by Almond 6 · 0⤊ 0⤋