これを適切に説明する方法がわかりませんが、自動的にsizeまたはnumberを自動的に設定する方法を探していbitset<size>ます
例
cout << bitset<8>(7) << endl;
固定ビット数で出力
0000 0111
固定ビットを使用する代わりに、出力111のように可変ビット数で自動的に出力したい。11001
0基本的に未使用時は手前のをカットしたい
これを適切に説明する方法がわかりませんが、自動的にsizeまたはnumberを自動的に設定する方法を探していbitset<size>ます
例
cout << bitset<8>(7) << endl;
固定ビット数で出力
0000 0111
固定ビットを使用する代わりに、出力111のように可変ビット数で自動的に出力したい。11001
0基本的に未使用時は手前のをカットしたい
int main() {
int n;
cin >> n;
bitset<64> n2(n);
cout << n2.to_string().substr(64-n2._Find_first()-1) << endl;
}
std::bitset::_Find.first は、最初のビットのインデックスを見つけます。
n2 を文字列に変換し、インデックスから文字列の部分文字列を見つけます。ここで、最上位ビットから合計の長さ - 1 を引いたものを見つけ、必要な結果を得ることができます。
テストケース:
256
100000000