さて、数学の問題のために疑似ランダムビットを生成したいと思います。ビットサイズはユーザーが入力します。しかし、通常の問題とは異なり、ここには小さなねじれがあります。ビットが0で始まり、ユーザーが入力したサイズと文字通り一致する場合も、数学の問題は有効な結果をもたらします。例:ユーザー入力4の場合、次のすべてが有効な出力です。
-> 0000
-> 0001
-> 1000
-> 0100
など。私は今、この関数を使用して数値を生成しています。
int randomChoice = choice.Next(1 << (input - 1), (1 << input) - 1);
bitSize = randomChoice;
複雑な配列操作を行わずにC#のリテラルビット長に従う限り、0で始まるランダムビット生成の他の方法はありますか?