gpt4 book ai didi

c++ - 如何在位集中存储更大的二进制数 (C++)

转载 作者:行者123 更新时间:2023-11-27 23:32:57 25 4
gpt4 key购买 nike

我正在尝试编写一个程序将数字转换为二进制。

代码:

    #include<iostream>
#include<algorithm>
#include<bitset>
using namespace std;
int main()
{
int a;
string k;
bitset<CHAR_BIT> n;
cin>>a;
n=bitset<CHAR_BIT>(a);
cout<<n<<" ";
return 0;
}

程序给出了 585 的错误答案,因为它包含超过 6 个二进制数字。我怎么能有这么大的数字?

最佳答案

585 mod 256 = 73(假设 CHAR_BIT 为 8)
基数 2 中的 73 = 0b01001001
The program does print 01001001 .
我看不出有什么问题。

如果要存储a的整个范围,bitset应该声明为

bitset<CHAR_BIT * sizeof(a)> n (a);

关于c++ - 如何在位集中存储更大的二进制数 (C++),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3619226/

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