題目:將乙個十六進製制數轉換為十進位制數輸出。
例十六進製制數:1、2、3、4、5、6、7、8、9、 a 、 b 、 c 、 d 、 e 、 f(字母部分小寫也可以)
對應十進位制數:1、2、3、4、5、6、7、8、9、10、11、12、13、14、15
例如:十六進製制數32be轉換為十進位制數n。
n=3*16^3+2*16^2+b*16^1+e*16^0
演算法實現過程如下:
n=3*16
n=n*16+2
n=n*16+11
n=n*16+14
實現**如下(c語言版):
#include#include#define max 100
/*進製轉換*/
//m進製轉換為十進位制,m可以為任意整數,根據本題需求,m=16;s為要轉換的數,因為十六進製制中包含字母,所以在此應用字元陣列
int htoi(char s,int m)
if (s[i] >= 'a'&&s[i] <= 'f')
if (s[i] >= 'a'&&s[i] <= 'f')
} return n;
}//判斷輸入的數字是不是十六進製制
int ish(char s)
i++;
} return flag;
}void main()
if (ish(c))
system("pause");
}
進製轉換演算法
寫乙個函式char fun int value,int radix 輸入為乙個整數和乙個代表進製的整數,如71,7。71表示要轉化的數,7代表要轉化成7進製數。輸出乙個字串指標,字串為整數value轉化為radix進製後的數字序列。小於10進製數用0 9表示,10進製 35進製用a z表示。例如71...
進製轉換演算法
int num 745 需要轉換的數 string value num int temp 0 while value.length 0 system.out.println temp m 10演算法是比較簡單的,轉成字串之後,依次取出每個字元,乘以相對應的權重再求和即可。int num 485 需要...
演算法提高 進製轉換
時間限制 1 sec 記憶體限制 256 mb 提交 2 解決 1 提交 狀態 討論版 程式提示使用者輸入三個字元,每個字元取值範圍是0 9,a f。然後程式會把這三個字元轉化為相應的十六進製制整數,並分別以十六進製制,十進位制,八進位制輸出。輸入只有一行,即三個字元。輸出只有一行,包括三個整數,中...