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