二進位制輸出整數

在計算機系統內的資料本身就是二進位制

思考:在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時,全部整體輸出。