C++不同进制整数

在C++的整数常量中,整数分为十进制整数、八进制整数和十六进制整数。

那给出一个整型常量怎样区分是何种进制呢?/给出一个整型常量,如100,默认是十进制数,如果在该数前加0,如0100,则此数表示为八进制数,如果在该数前加0x,如0x100,则此数表示为十六进制数。

使用cout输出一个整数时,默认按十进制进行输出,如果想让该数按八进制或十六进制进行输出,需要使用输出格式控制符。/如果使用格式控制符,要包含头文件iomanip。
十进制的输出格式控制符为dec(默认使用),八进制的格式控制为oct,十六进制的格式控制符为hex。

以下是程序示例

//不同进制整数的使用
//给出一个整型常量,如100,默认是十进制数,
//如果在该数前加0,如0100,则此数表示为八进制数
//如果在该数前加0x,如0x100,则此数表示为十六进制数
//使用cout输出一个整数时,默认按十进制进行输出,
//如果想让该数按八进制或十六进制进行输出,需要使用输出格式控制符
//如果使用格式控制符,要包含头文件iomanip
//十进制的输出格式控制符为dec,八进制的格式控制为oct,十六进制的格式控制符为hex

#include <iostream>
#include <iomanip> //包含输出格式控制头文件
using namespace std;
int main()
{
  cout<<"以下整数的输出都按十进制进行"<<endl;
  int a; //整型a
  a=11;  //给赋一个十进制整数值  
  cout<<"after a=11(十进制11), a="<<a<<"(十进制)"<<endl;
  a=011;  //给赋一个八进制整数值 
  cout<<"after a=011(八进制11), a="<<a<<"(十进制)"<<endl;
  a=0x11;  //给赋一个八进制整数值 
  cout<<"after a=0x11(十六进制11), a="<<a<<"(十进制)"<<endl<<endl;

  
  cout<<"以下整数的输出按输出格式控制符指定的进制进行"<<endl;  
  a=11;  //给赋一个十进制整数值  
  cout<<"after a=11(十进制11), a="<<dec<<a<<"(十进制)"<<endl;
  a=011;  //给赋一个八进制整数值 
  cout<<"after a=011(八进制11), a="<<oct<<a<<"(八进制)"<<endl;
  a=0x11;  //给赋一个八进制整数值 
  cout<<"after a=0x11(十六进制11), a="<<hex<<a<<"(十六进制)"<<endl;

  return 0;
}

运行结果

你可能感兴趣的:(C++不同进制整数)