C++中printf()函數的用法3

將argument以整型的方式打印到輸出流時,可以有以下幾種方式:有符號十進制、無符號十進制、無符號八進制和無符號十六進制。

1有符號十進制

可以將type設置爲i或者d來將整型以有符號十進制的方式打印到輸入流中。

int a = -10;

printf("%d\n", a);

printf("%i\n", a);

其中,%i是老式寫法,而%d是新式寫法,兩者的作用相同。

2 無符號十進制

可以將type設置爲u來將整型以無符號十進制的方式打印到輸入流中。

int a = 10;

printf("%u\n", a);

3 無符號八進制

可以將type設置爲o來將整型以無符號八進制的方式打印到輸入流中。

printf("%o\n", a);

此時的輸出爲“12”,即10的八進制格式。

4 無符號十六進制

可以將type設置爲x或者X來將整型以無符號十六進制的方式打印到輸入流中。當是%x時,使用小寫字母abcdef;當是%X時,使用大寫字母ABCDEF。

int a = 10;

printf("%x\n", a);

printf("%X\n", a);

此時,輸出的是“a”和“A”。

5 type與argument類型不符

當type指定的是無符號,而argument是有符號的整型時,例如

int a = -10;

printf("%u\n", a);

此時會把a當做無符號的值來處理。a的值是-10,其對應的二進制(10的補碼加1)是1111 1111 1111 1111 1111 1111 1111 0110,將其看做無符號的數,其值爲‭4294967286‬。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章