2013-01-10 212 views
1

如何使用十進制,八進制或十六進制表示法表示整數的值? (我寧願只使用iostreamC++中整數的十進制,八進制和十六進制表示法

+0

如果我正確地理解你,你有一個整數變量,並希望知道該變量的八進制和十六進制表示,通過輸出一個C++流? –

+6

[std :: hex and std :: oct](http://www.cplusplus.com/reference/ios/hex/) –

+0

你是在談論解析字符串在一個基地或另一個?因爲int不是十進制或十六進制,但可以很容易地顯示在其中一個基地中。 –

回答

5

假設你只是想看到它們,供你自己參考。雖然將它們存儲在一個變量中「僅僅是一個鏡頭」。

#include <iostream> 
using namespace std; 

int main() { 
    int n; 
    n=70; 
    cout << hex << n << endl; 
    cout << dec << n << endl; 
    cout << oct << n << endl; 
    return 0; 
} 
+1

這是完美的,非常感謝! –

+0

正確 - 在這是您的第一個SO問題的情況下,我想我應該告訴您,要接受答案並結束問題,請打開問題側面的小複選標記 - 但仔細查看所有答案提交併嘗試接受你認爲「最正確的」。 – PinkElephantsOnParade

+2

你完全正確,謝謝。 –

5

「十進制整數」我希望你的意思是一個字符串,它使用十進制來表示一個整數。整數類型,如int,沒有基數。或者如果你堅持認爲他們必須有一個基地,因爲他們的內部表示,那麼基地總是2.整數的字符串表示,現在這些表示有一個基數。

std::istringstream iss(std::string("123")); 
int i; 
if (iss >> i) { 
    std::cout << "read a decimal integer!\n"; 
    std::cout << "here it is in decimal: " << i << "\n"; 
    std::cout << "here it is in hex: " << std::hex << i << "\n"; 
    std::cout << "here it is in octal: " << std::oct << i << "\n"; 
} 
+0

好吧,謝謝,它真的幫了我。 –

相關問題