Random.NextFloat メソッド

定義

この乱数ジェネレーターのシーケンスとの間0.01.0で一様に分散されたfloat次の擬似乱数値を返します。

[Android.Runtime.Register("nextFloat", "()F", "GetNextFloatHandler")]
public virtual float NextFloat ();
[<Android.Runtime.Register("nextFloat", "()F", "GetNextFloatHandler")>]
abstract member NextFloat : unit -> single
override this.NextFloat : unit -> single

戻り値

この乱数ジェネレーターのシーケンスとの間0.01.0で一様に分散されたfloat次の擬似乱数値

属性

注釈

この乱数ジェネレーターのシーケンスとの間0.01.0で一様に分散されたfloat次の擬似乱数値を返します。

nextFloat一般的なコントラクトは、範囲 0.0f (包括的1.0f) から (排他的) まで一様に選択された 1 つのfloat値が擬似ランダムに生成され、返されるということです。 フォームmの<2 sup>24< /sup>の可能なfloat値はすべてnbsp&;x 2<sup-24>/sup (m は 2 sup>24<<</sup>> 未満の正の整数) は、(ほぼ) 等しい確率で生成されます。

メソッド nextFloat は、次のようにクラス Random によって実装されます。

{@code
            public float nextFloat() {
              return next(24) / ((float)(1 << 24));
            }}

前述の説明では、次の方法が独立して選択されたビットのほぼ公平なソースに過ぎないため、ヘッジ "概算" が使用されます。 ランダムに選択されたビットの完全なソースである場合、表示されるアルゴリズムは、完全な均一性を持つ指定された範囲から値を選択 float します。

[Java の初期バージョンでは、結果は次のように正しく計算されませんでした。

{@code
              return next(30) / ((float)(1 << 30));}

これは同等と思われるかもしれませんが、実際には浮動小数点数の丸めで偏りがあるため、わずかな不一意性が発生しました。符号の下位ビットが 1 よりも 0 になる可能性が若干高くなります。

の Java ドキュメント java.util.Random.nextFloat()

このページの一部は、によって作成および共有され、に記載されている条件に従って使用される作業に基づく変更です。

適用対象