zoukankan      html  css  js  c++  java
  • C++ 十进制 八进制 十六进制的转换和关系

    在默认情况下,cout以十进制格式显示整数,而不管这些整数在程序中是如何书写的。如下面的程序所示:

    #include<iostream>
    using namespace std;
    #include<climits>
    int main()
    {   
        int chest = 42;     //十进制
        int waist = 0x42;    //十六进制
        int inseam = 042;    //八进制
    
        cout << "默认情况下,cout 以十进制格式显示整数" << endl;
        cout << "chest = " << chest << " (42以十进制格式显示)" << endl;
        cout << "waist = " << waist << " (0x42以十进制格式显示)" << endl;
        cout << "inseam = " << inseam << " (042以十进制格式显示)" << endl;
        cin.get();
        return 0;
    }  

    程序运行结果:

      默认情况下,cout 以十进制格式显示整数
      chest = 42 (42以十进制格式显示)
      waist = 66 (0x42以十进制格式显示)
      inseam = 34 (042以十进制格式显示)

    2. 如果要以十六进制或者八进制的格式显示数字,则可使用cout的一些特殊性质。在iostream中,它不仅提供了控制符endl,而且还提供了控制符dec,hex和oct,分别用于指示十进制,十六进制和八进制显示整数。如下程序所示:

    #include<iostream>
    using namespace std;
    #include<climits>
    int main()
    {   
        int chest = 42;    
        int waist = 42;    
        int inseam = 42;    
    
        cout << "chest = " << chest << " (42以十进制格式显示)" << endl;
        cout << hex;
        cout << "waist = " << waist << " (0x42以十六进制格式显示)" << endl;
        cout << oct;
        cout << "inseam = " << inseam << " (042以八进制格式显示)" << endl;
        cin.get();
        return 0;
    }  

    运行结果:

      chest = 42 (42以十进制格式显示)
      waist = 2a (0x42以十六进制格式显示)
      inseam = 52 (042以八进制格式显示)

  • 相关阅读:
    定义一个动态的二维数组?
    学习STL map, STL set之数据结构基础
    CMM
    详细解说STL string
    仔细选择你的容器
    C++字符串类string简析
    流氓软件及反流氓软件的技术分析
    标准C++的类型转换符:static_cast、dynamic_cast、reinterpret_cast和const_cast
    C++资料下载
    unix系统操作命令大全
  • 原文地址:https://www.cnblogs.com/carlber/p/9845579.html
Copyright © 2011-2022 走看看