我想打印十六進制int值爲%d。十六進制表示
當值被寫入爲十六進制它不是一個問題:
#include <stdio.h>
int main(void) {
int x=0x18;
int y=0xAB;
printf("%d %d", x, y);
return 0;
}
但是...我如何可以打印時,這是十進制值?
我想是這樣的:
- 值在小數:
X = 551更改爲十六進制X = 227和打印爲%d?
在本練習中,我必須將十六進制整數打印爲%d。
希望我寫這個乾淨。 :)
問候,
'x'和'y'不是 「十六進制整數」。他們只是整數。 –
閱讀printf的手冊頁 –
您是否想將*轉換爲十六進制表示形式,然後打印出結果字符串,或者您是否要求使用什麼格式說明符在十六進制中打印int?如果前者 - 實現一個基本轉換算法。如果以後 - 閱讀手冊(或在Google上花費30秒)。無論哪種情況---我不知道「打印使用%d」是什麼意思,因爲該說明符以十進制打印,而不是十六進制打印。如果你構造了十六進制字符串,那麼你需要'%s'將它顯示爲一個字符串。 –