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
原文链接: https://www.cnblogs.com/safety/p/12231869.html
欢迎关注
微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/192302
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!