%02x與%2x 之間的區別
阿新 • • 發佈:2019-01-01
輸出最小寬度 用十進位制整數來表示輸出的最少位數。若實際位數多於定義的寬度,則按實際位數輸出,若實際位數少於定義的寬度則補以空格或0(當最小寬度數值以0開頭時)。 X 表示以十六進位制形式輸出 02 表示不足兩位,前面補0輸出;如果超過兩位,則實際輸出 舉例: printf("%02X", 0x345); //打印出:345 printf("%02X", 0x6); //打印出:06 而如果直接寫為 %2x,資料不足兩位時,實際輸出,即不額外補0輸出; 如果超過兩位,則實際輸出。 printf("%2X", 0x345); //打印出:345 printf("%2X", 0x6); //打印出:6
例子:
#include <stdio.h>
int main()
{
int i = -20;
for(i = -20; i < 21; i++)
{
printf("%2x\n", i);
printf("%02x\n", i);
}
return 0;
}
輸出結果:
ffffffec
ffffffec
ffffffed
ffffffed
ffffffee
ffffffee
ffffffef
ffffffef
fffffff0
fffffff0
fffffff1
fffffff1
fffffff2
fffffff2
fffffff3
fffffff3
fffffff4
fffffff4
fffffff5
fffffff5
fffffff6
fffffff6
fffffff7
fffffff7
fffffff8
fffffff8
fffffff9
fffffff9
fffffffa
fffffffa
fffffffb
fffffffb
fffffffc
fffffffc
fffffffd
fffffffd
fffffffe
fffffffe
ffffffff
ffffffff
0
00
1
01
2
02
3
03
4
04
5
05
6
06
7
07
8
08
9
09
a
0a
b
0b
c
0c
d
0d
e
0e
f
0f
10
10
11
11
12
12
13
13
14
14