直接cout输出将十进制数转换为十六进制、八进制和二进制程序如下,定义的功能包含在iomanip头文件中:
#include<iostream>
#include<iomanip>
#include<bitset> //使用标准库中bitset类输出二进制
using namespace std;
int a = 100;
cout<<"十进制 "<<a<<endl;
cout<<"十六进制 "<<hex<<a<<endl;
cout<<"八进制 "<<oct<<a<<endl;
cout<<"二进制 "<<bitset<8>(a)<<" "<<bitset<32>(a)<<endl; // 这里使用了bitset类来输出2进制数据,8和32决定保留位数
printf的语句如下:
#include<stdio.h>
#include<stdlib.h>
int a = 100;
printf("十进制 %d\n", a);
printf("十六进制 %x\n", a);
printf("八进制 %o\n", a);
char binary_text[100];
itoa(a, binary_text, 2); //二进制不可以直接printf格式化输出,需要转换
printf("二进制 %s\n", binary_text);
参考自博文:http://blog.csdn.net/morewindows/article/details/16358511