二進位制輸出整數
在計算機系統內的資料本身就是二進位制
思考:在C++中,如何通過cout函式來輸出二進位制的數字呢?
所需庫檔案:1.iomanip //管理C++格式控制
2.bitset //二進位制
示例程式碼:
#include <iostream>
#include <iomanip>
#include <bitset>
using namespace std;
int main(){
bitset<10> a(5);
cout << a;
}
執行效果:
在上述程式碼中,我們可以發現bitset函式後面有個 <> 號,它的實際含義,由讀者進行更換 <> 裡的數字,總結規律。
不同進位制輸出
有些讀者可能想輸出其他進位制,例如:十六進位制或八進位制。下面教讀者如何進行不同進位制的輸出。
示例程式碼:
#include <iostream>
#include <iomanip>
using namespace std;
int main(){
cout << hex << 123 <<endl;//十六進位制
cout << dec << 123 <<endl;//十進位制
cout << oct << 123 <<endl;//八進位制
return 0;
}
hex: 十六進位制
dec: 十進位制
oct: 十進位制
相信聰明的讀者肯定明白如何進行不同的進位制輸出。
思考:
如果在上述程式碼中的“八進位制”後,加一串程式碼:cout<<123;
會發生什麼?有什麼規律?
答案:
當
cout << oct(其他進位制也可以) << x(數的代號)
如果下面的程式碼,沒有出現這樣類似的程式碼,那麼輸出x將會是x的oct進位制(其他進位制也可以)。
小數的輸出
1.setprecision:有效數字X位。(x為未知數)
2.fixed:強制的把float型別和double型別輸出小數,而不是科學計數法的形式。通常跟setprecision搭配使用。
3.setfill('*'):字元填充,可以是字元常量或字元變數。---->setfill('x') //x為某個字元或數字
4.scientific:科學計數法輸出
5.setw(n):c++中在輸出操作中使用的欄位寬度設定,設定輸出的域寬,n表示欄位寬度。只對緊接著的輸出有效,緊接著的輸出結束後又變回預設的域寬。當後面緊跟著的輸出欄位長度小於n的時候,在該欄位前面用空格補齊;當輸出欄位長度大於n時,全部整體輸出。