使用cout/pintf输出16进制,8进制比较常见,输出2进制的方法倒比较新颖。比我在之前的博客文章的移位方法要好一些了。
- // 【MoreWindows工作笔记3】 使用cout/pintf输出16进制,8进制,2进制数据
- #include <iostream>
- #include <bitset>
- #include <stdlib.h>
- using namespace std;
- int main()
- {
- printf(" 【MoreWindows工作笔记3】 使用cout/pintf输出16进制,8进制,2进制数据\n");
- printf(" - http://blog.csdn.net/morewindows/article/details/16358511 -\n");
- printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n");
- int a = 100;
- cout<<"十进制 "<<a<<endl;
- cout<<"十六进制 "<<hex<<a<<endl;
- cout<<"八进制 "<<oct<<a<<endl;
- cout<<"二进制 "<<bitset<8>(a)<<" "<<bitset<32>(a)<<endl; // 这里使用了bitset类来输出2进制数据
- cout<<"--------------------------------"<<endl;
- printf("十进制 %d\n", a);
- printf("十六进制 %x\n", a);
- printf("八进制 %o\n", a);
- char binary_text[100];
- itoa(a, binary_text, 2);
- printf("二进制 %s\n", binary_text);
- return 0;
- }
运行结果如下图: