c語言支援二進位制、八進位制、十進位制和十六進製制的計數系統,在表示乙個數字時,用某個特殊的字元來區別其所屬的計數系統是必要的。在表示二進位制數時,要在數字的末尾加上「b」(如101b);在表示八進位制數時,要使用反斜槓(如\014);在表示十六制數時,要使用「0x」字串行(如0x34);顯然,在表示十進位制數時,不需要任何識別符號,因為十進位制是預設的計數系統。
要把乙個十六進製制的值賦給乙個變數,你可以象下面這樣做:
int x ;
x=0x20; /* put hex 20(32 in decimal) into x */
x='0x20' ; / * put the ascii character whose value is
hex 20 into x * /
只有了解了十六進製制計數系統,你才能知道要賦的值應該如何表示,詳見20.24。
把乙個八進位制的值賦給乙個變數與把乙個十六進製制的值賦給乙個變數一樣簡單:
int x ;
x=\033; / * put octal 33 (decimal 27) into x * /
x='\033' ; / * put the ascii character whose value is
octal 33 into x * /
同樣,只有了解了八進位制計數系統,你才能知道要賦的值應該如何表示,詳見20.23。
實現乙個把十六進製制數轉換為對應ASCII碼的程式
實現乙個把十六進製制數轉換為對應ascii碼的程式 思路 先把原來的數加30h 若加上30h之後大於39h 說明原來的數大於9 那麼就再加上2h就是加7 先寫結構然後在補充細節 details convert hex to asc data segment hex db 9h data ends c...
寫乙個函式,輸入乙個十六進製制數,輸出相應的十進位制數
題目要求 如標題 思路 十六進製制數為 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為每一項的值...
將乙個十六進製制字串轉換為十進位制數值的問題
在程式中,我們有時需要將乙個十六進製制字串轉換為十進位制數字。比如 char ptr 0x11 int n 0 我們想讓n等於0x11,即17 通常我們在c中,想將乙個字串轉換為一整形數字,通常會使用下面的方法 但是atoi庫函式只能將十進位制字串轉化為int整形,比如下面的例子 所以要用atoi函...