0
我有一個打印出int輸入的二進制數的函數。使用Stringstream的C++ Hex到Int
當我有一個字符串形式十六進制,我稱之爲使用功能:
int num = 0;
stringstream << "0xabcd123";
stringstream >> num; //num becomes the decimal representation of the above hex.
outputBinary(num);
完美的作品。
然而,
int num = 0;
stringstream << "0xabcd1234"; //fully filled hex value.
stringstream >> num; //num remains at 0.
outputBinary(num);
難道是一個完全充滿十六進制值的原因字符串流溢出從十六進制字符串爲「民」轉換時?
你的兩段代碼是相同的(你可能需要顯示'outputBinary',兩個) – quantdev 2014-10-11 02:54:31
嘗試過'unsigned num; stringstream >> num;'? – 2014-10-11 03:04:34