gpt4 book ai didi

C++ 将二进制(64 位)转换为十进制

转载 作者:行者123 更新时间:2023-11-28 07:37:23 24 4
gpt4 key购买 nike

我使用字符串来包含我的 64 位二进制文​​件。

string aBinary;
aBinary = "100011111011101100000101101110000100111000011100100100110101100";

最初我试过这个..

stringstream ss;
ss << bitset<64>(aBinary).to_ulong();
buffer = ss.str();

cout << buffer << endl;

它对某些二进制文件有效,但这个无效。如何将包含在字符串容器中的上述 64 位二进制转换为也是字符串容器的十进制。

最佳答案

它溢出了,因为 to_ulong() 是 32 位的。

C++-11 引入了函数to_ullong(),这就是你想要的。如果没有,您可以尝试将字符串一分为二,得到两个 32 位数字,转换为 64 位,进行移位和加法。

关于C++ 将二进制(64 位)转换为十进制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16514459/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com