cout 二进制输出
1.cout不支持输出二进制,只支持八进制、十进制、十六进制输出,想输出二进制需要用到bitset
2.每次使用oct、dec、hex之后会将默认输出形式分别改为八进制、十进制、十六进制,而使用 bitset输出二进制后则不会改变
代码如下:
1 #include <iostream>
2 #include <vector>
3 #include <ctime>
4 #include <cstdlib>
5 #include <cstring>
6 #include <bitset>
7
8 int main()
9 {
10 using namespace std;
11
12 //二进制输出
13 cout << bitset<sizeof(unsigned long) * 8>(1UL << 27) << endl;
14
15 cout << (1UL << 27) <<endl;
16
17 //八进制输出
18 cout << oct << (1UL << 27) << endl;
19
20 cout << (1UL << 27) <<endl;
21
22 //十六进制输出
23 cout << hex << (1UL << 27) <<endl;
24
25 cout << (1UL << 27) <<endl;
26
27 //十进制输出
28 cout << dec << (1UL << 27) << endl;
29
30 cout << (1UL << 27) <<endl;
31
32 return 0;
33 }
结果如下:
e:\C++\C++ primer\4>cd "e:\C++\C++ primer\4\" && g++ test.cc -o test && "e:\C++\C++ primer\4\"test
00001000000000000000000000000000
134217728
1000000000
1000000000
8000000
8000000
134217728
134217728