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

猜你喜欢

转载自www.cnblogs.com/safety/p/12231869.html