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以八進制格式顯示)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM