Random.nextInt(134116)という整数型の関数とまったく同じように、short型の乱数を生成したいと思います。どうすれば達成できますか?Javaで短い乱数を生成しますか?
答えて
は、何のRandom.nextShort()
方法はありません。 Short.MAX_VALUE包括的に0からhere
この生成されます番号(負の数OPによって要求されていなかった)
キャストが必要です。 –
ありがとうございます@juergend、私は答えを更新しました – luketorjussen
しかし、あなたが1を追加すると、0を生成することができなくなりますか? – Tudor
約short s = (short) Random.nextInt();
?結果の分布に偏りがあるかもしれないことに注意してください。 Java言語仕様では、これにより例外が発生しないことが保証されています.intは短くなるように切り捨てられます。実際に簡単なテストをやって
EDIT
、結果の分布が均一に分散しすぎているように見えます。あなたはメソッドは、指定された数(排他的)に番号を返すため
short s = (short) Random.nextInt(Short.MAX_VALUE + 1);
+1が使用できるよう
だけネガネを必要としない何が生成された数が短く保持されるよりも大きい場合は? – luketorjussen
最後の4ビットだけが保持されますが、オーバーフローは発生しません。 – assylias
しかし、それは生成された乱数の微調整均一性を変更するのだろうか? –
Javaのショーツは32 767間隔→-32 768に含まれているを参照してください。
なぜあなたは
Random.nextInt(65536) - 32768
を実行し、短い変数に結果をキャストしていないでしょうか?
+1 - 私はまさにそのことを書こうとしていました。 – Deco
私はそれを推測してあなたのために書いたので、キーボードの寿命を延ばすでしょう。 –
だけのようなint型を生成します。それは、データを損失することなくキャストできるよう
short s = (short)Random.nextInt(Short.MAX_VALUE);
生成int
は、short
の値空間になります。
これは、Short.MAX_VALUEを除いて、負でない短い値を生成します –
可能なすべての短い値を生成できる最も効率的なソリューションは、どちらかを実行することです。
short s = (short) random.nextInt(1 << 16); // any short
short s = (short) random.nextInt(1 << 15); // any non-negative short
またはさらに速く
class MyRandom extends Random {
public short nextShort() {
return (short) next(16); // give me just 16 bits.
}
public short nextNonNegativeShort() {
return (short) next(15); // give me just 15 bits.
}
}
short s = myRandom.nextShort();
実際にうまくいっています。 – assylias
- 1. 短い乱数から長い乱数を生成する方法は?
- 2. 乱数生成器 - 毎回乱数を生成しない
- 3. Pythonで新しい乱数を生成していますか?
- 4. Java短絡混乱
- 5. 擬似乱数乱数生成器で乱数列を生成する正しい方法
- 6. Javaで長い乱数を生成する
- 7. MATLABで対数正規乱数を生成しますか?
- 8. 乱数onclickを生成し、生成された数値を数えますか?
- 9. 乱数生成
- 10. Node.jsチャットボットは同じ乱数を生成していますか?
- 11. Cauchyから乱数生成
- 12. Java - 生成する数の上限を持つ乱数を生成
- 13. Cで範囲[0、n)の乱数を生成しますか?
- 14. どのようにC#で乱数を生成しますか?
- 15. java:ループ内で乱数を生成する
- 16. Javaで何百万という非繰り返し乱数を生成する
- 17. Excelでの乱数生成
- 18. スパーク - 乱数生成
- 19. 乱数生成器
- 20. Javascript - 乱数生成
- 21. 乱数の生成
- 22. ATMega乱数生成
- 23. カスタムディストリビューションから乱数を生成する
- 24. 乱数を1回生成しますが、何千回も生成します
- 25. MatLabとJAVAでまったく同じ乱数を生成していますか?
- 26. Haskellで乱数を生成する
- 27. GKRandomSourceで乱数を生成する
- 28. jinja2で乱数を生成する
- 29. PHPで乱数を生成する
- 30. 確率で乱数を生成する
は負の数を、あなたが必要なのですか? – luketorjussen
いいえluke私は0から最大の短く – waqas