寫乙個函式,輸入乙個十六進製制數,輸出相應的十進位制數

2021-10-13 17:15:53 字數 537 閱讀 6695

題目要求:如標題

思路:十六進製制數為:0,1,2,3,4,5,6,7,8,9,a(10),b(11),c(12),d(13),e(14),f(15)

比如0xff=1516ˆ1+1516ˆ0=255,0xab=1016ˆ1+1116ˆ0=171

設定length=strlen(str)-1,term為每一項的值。同時設定i,令i=0;i<=length;i++

a為相應的十六進製制數轉為十進位制數的乘數,即(0~15)

此時需要用到pow函式,則term=a*pow(16,length-i),最後把term疊加即可

以下是具體**:

#include

#include

#include

intmain()

void

hexadecimal_decimal

(char str)

printf

("the decimal number is: %d\n"

,sum)

;}

怎麼將乙個十六進製制數轉變成十進位制數

在程式中,我們有時需要將乙個十六進製制字串轉換為十進位制數字。比如 char ptr 0x11 int n 0 我們想讓n等於0x11,即17 通常我們在c中,想將乙個字串轉換為一整形數字,通常會使用下面的方法 view plaincopy to clipboardprint?char ptr 12...

怎樣把乙個十六進製制的值賦給乙個變數

c語言支援二進位制 八進位制 十進位制和十六進製制的計數系統,在表示乙個數字時,用某個特殊的字元來區別其所屬的計數系統是必要的。在表示二進位制數時,要在數字的末尾加上 b 如101b 在表示八進位制數時,要使用反斜槓 如 014 在表示十六制數時,要使用 0x 字串行 如0x34 顯然,在表示十進位...

實現乙個把十六進製制數轉換為對應ASCII碼的程式

實現乙個把十六進製制數轉換為對應ascii碼的程式 思路 先把原來的數加30h 若加上30h之後大於39h 說明原來的數大於9 那麼就再加上2h就是加7 先寫結構然後在補充細節 details convert hex to asc data segment hex db 9h data ends c...