题
这种建立在 已经问过问题了...但是,在这里,我给了我一个十六进制的输入,它可能是“ 0xffff”的最大值,我需要将其转换为二进制,因此我最终得到了16位的最大值。
我想知道使用“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";
不隶属于 StackOverflow