从十六进制转换为二进制C ++

时间:2009-11-29 08:25:31

标签: c++ binary hex

这种建立在Already asked question ...... 但是,在这里,我给了一个十六进制输入,可能是'0xFFFF'的最大值 我需要将它转换为二进制,这样我最终会得到最多16位。

我想知道是否使用'bitset'这很简单..有什么想法吗?

编辑:

在这里得到答案后,即兴的一段代码:http://pastebin.com/f7a6f0a69

1 个答案:

答案 0 :(得分:6)

假设“十六进制输入”是指包含十六进制数字的字符串,那么这将起作用:

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";
相关问题