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

发布于 2024-08-12 17:54:24 字数 378 浏览 3 评论 0原文

这种建立在已经提出的问题... 然而,在这里,我给出了一个十六进制输入,最大值可能是“0xFFFF” 我需要将其转换为二进制,以便最终得到最多 16 位。

我想知道使用“bitset”是否会很简单..有什么想法吗?

编辑:

得到答案后,在这里临时编写一段代码:http://pastebin.com/f7a6f0a69

This kind of builds up on Already asked question...
However here, say, I'm given a hexadecimal input which could be a max of '0xFFFF'
I'll need it converted to binary, so that I'd end up with a max of 16 bits.

I was wondering if using 'bitset' it'd be quite simple.. Any ideas?

EDIT :

After getting answers, improvised piece of code here : http://pastebin.com/f7a6f0a69

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

灯下孤影 2024-08-19 17:54:24

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

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";

Supposing by "hexadecimal input" you mean a string containing a hexadecimal number, then this would work:

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";
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文