簡易演算法之進製轉換

2021-06-26 23:52:21 字數 739 閱讀 9174

題目:將乙個十六進製制數轉換為十進位制數輸出。

例十六進製制數: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。然後程式會把這三個字元轉化為相應的十六進製制整數,並分別以十六進製制,十進位制,八進位制輸出。輸入只有一行,即三個字元。輸出只有一行,包括三個整數,中...