这种建立在 已经问过问题了...但是,在这里,我给了我一个十六进制的输入,它可能是“ 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";
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top