這不過這裏有種構建了對Already asked question ... ,說,我給一個十六進制的輸入,可能是「0xFFFF的」 一個最大我需要它轉換爲二進制,這樣我最多可以達到16位。轉換爲二進制C++
我想知道如果使用'bitset'它會很簡單..任何想法?
編輯:
得到答案的,即興的一段代碼這裏後:http://pastebin.com/f7a6f0a69
這不過這裏有種構建了對Already asked question ... ,說,我給一個十六進制的輸入,可能是「0xFFFF的」 一個最大我需要它轉換爲二進制,這樣我最多可以達到16位。轉換爲二進制C++
我想知道如果使用'bitset'它會很簡單..任何想法?
編輯:
得到答案的,即興的一段代碼這裏後:http://pastebin.com/f7a6f0a69
的「十六進制輸入」你的意思是包含一個十六進制數字的字符串假設,那麼這會工作:
const char* const str = "0xFFFF";
std::istringstream iss(str);
int i;
iss >> std::hex >> i;
if(!iss && !iss.eof()) throw "dammit!";
std::cout << '"' << str << "\": " << i << "(0x" << std::hex << i << ")\n";
+1「dammit!」 ;) –
好吧,那真棒。但我不需要它在十進制中,我需要二進制。無論如何,我研究了一下,做了即興創作.. :)在這裏:http://pastebin.com/m401f1b79 – halluc1nati0n
@ halluc1nati0n:我會建議你在你的問題措辭中更精確。任何變量實際上都是二進制的,在'iss >> std :: hex >> i'後面的值實際上是二進制形式。現在,你所要求的是轉換成一個表示二進制形式的字符串,這是一個不同的故事。如果你問了適當的問題,我相信你會在第一時間得到結果。 –
這取決於你所說的「十六進制輸入」。它是字符串「」0xFFFF「嗎? – sbi
你對二進制的含義是什麼?一切在計算機上都是二進制的,包括十六進制值,浮點數,ASCII和Unicode字符。你的意思是一個標量/整數嗎? –
由二進制,我的意思是「在物理位」.. – halluc1nati0n