1

これを適切に説明する方法がわかりませんが、自動的にsizeまたはnumberを自動的に設定する方法を探していbitset<size>ます

cout << bitset<8>(7) << endl;

固定ビット数で出力

0000 0111

固定ビットを使用する代わりに、出力111のように可変ビット数で自動的に出力したい。11001

0基本的に未使用時は手前のをカットしたい

4

2 に答える 2

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

于 2021-08-06T07:03:24.797 に答える