十六進製制轉十進位制(C語言實現)

2021-08-15 03:53:54 字數 1180 閱讀 1813

從數字組成的字串轉化為十進位制數步驟如下:

1、挨個讀取陣列,從第0位開始

2、將字元轉化為數字。比如從'1'轉化為1。可以參考ascii碼表,字元'0'是48,所以只需要將字元減去48即可。

3、將前乙個計算出的十進位制數(初始化為0)乘以10加上第二步計算出的數字。

4、迴圈1-3步直到讀取完陣列內所有內容。

之所以這樣算需要舉個例子:比如陣列內內容是'1','5','9'。計算結果肯定是159。這個159等於1*100+5*10+9*1。我們定義變數s來作為結果(初始化為0)。

1、挨個讀取陣列,從第0位開始

2、將字元轉化為數字。比如從'1'轉化為1。可以參考ascii碼表,字元'0'是48,所以只需要將字元減去48(或減『0』)即可。在十六進製制中,有abcdef,直接轉化為10 11 12 13 14 15即可,不可以減48,因為a的ascii碼為65,減完是17,不符合。

3、將前乙個計算出的十六進製制數(初始化為0)乘以16加上第二步計算出的數字。

4、迴圈1-3步直到讀取完陣列內所有內容。

#include #include #include int main()  

ndec += (temp*pow(16,len-1-i));

} printf("%i64d",ndec);

return 0;

}

long long定義方式可以用於gcc/g++,不受平台限制,但不能用於vc6.0。__int64是win32平台編譯器64位長整型的定義方式,不能用於linux。

「%lld」用於linux i386平台編譯器,」%i64d」用於win32平台編譯器。cout只能用於c++編譯,在vc6.0中,cout不支援64位長整型。

十六進製制轉十進位制

create function fn hextobinary hex varchar 8 returns varchar 255 asbegin declare base tinyint declare string varchar 255 declare return varchar 255 de...

十進位制轉十六進製制

問 題 描 述 十 六 進 制 數 是 在 程 序 設 計 時 經 常 要 使 用 到 的 一 種 整 數 的 表 示 方 式 它 有0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f 共 16 個符號,分別表示十進位制數的 0 15。十六進製制的計數方法是滿16 進 1,所以十進位制數...

十六進製制轉十進位制

問題描述 從鍵盤輸入乙個不超過8位的正的十六進製制數字串,將它轉換為正的十進位制數後輸出。注 十六進製制數中的10 15分別用大寫的英文本母a b c d e f表示。樣例輸入 ffff 樣例輸出 65535 include include includeint main int len,i,j d...