C/C++直接输出一个数据的十六进制、八进制和二进制

  直接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

你可能感兴趣的:(C语言,进制转换,十六进制转八进制)