1. 程式人生 > >MFC C++ Format 16進位制輸出時需要注意的一點

MFC C++ Format 16進位制輸出時需要注意的一點

究其原因,%x 是 unsigned int  或  int  型輸出 ,所以 printf("%x", a) 在執行時將自動將 a 型別提升(char 將提升至 int;unsigned char 將提升至 unsigned int), 注意到 char 是 signed(有符號的),如果這時 a 是負數 ,在提升的時候前面將會補1 ,即象反例中的 0xf1 => 0xfffffff1;而unsigned char 在提升的時候只會補0。”