2014-10-02 71 views
1

我有一個0到63之間的數字,所以最多6位。
然後我必須用十六進制表示這個數字。在C++中將N位int表示爲十六進制

我怎麼能強迫我的電話號碼的reresentation在8位的,所以如果我有:

int x = 60; 
cout << std::hex << x; 

它打印0x3C

+2

我不明白你的問題,但如果你想要的是 「顯示爲0x3C」,那麼怎麼樣'的std ::法院< 2014-10-02 06:58:58

+2

如果你想「強制表示成8位」,然後使用'std :: unint8_t'而不是'int'。 – 5gon12eder 2014-10-02 07:04:41

+0

「十六進制」符號幾乎假定您有一個8位字節。二進制數「00000000」到「11111111」顯示在x'00'到x'FF'的範圍內。 – 2014-10-02 07:09:18

回答

4

試試這個:

#include<iostream> 
#include <iomanip> 
using namespace std; 

} 
int main(){ 
    int x = 60; 
    cout<<showbase; // show the 0x prefix 
    cout<<hex<<x; 
    return 0; 
} 

輸出:

0x3c 
相關問題