数値を2進数に変換するプログラムを作成しようとしています。
コード:
#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;
}
プログラムには6桁を超える2進数が含まれているため、585に対して間違った答えが返されます。どうすればこんなに大きな数になれますか?