1に非常に近い浮動小数点数にint> 0を掛けると、それは1と解釈されることがあります。掛け算時に0.999 ... 1に丸められますか?
つまり、Math.random()が可能な最高の結果1.0未満のステップ)、
(int)(Math.random() * 8)
は8または7ですか?
実用例えば、この頻繁に使用される構築物は、境界エラーのうちの指標を与えることができます:
someArray[(int)(Math.random() * someArray.length)];
私は、JavaとActionScript 3のための答えでは特に興味が、私は彼らがすべて使用と仮定します浮動小数点演算のための同じルール、および任意のプラットフォームに対する答えが有用である。
更新:私はすでに答えを受け入れていますが、ActionScript 3ではこれが間違っているとは思わないことを確認しています。同僚は一度間違っていると報告したので、質問。
あなたはすでに答えを受け入れましたか? – Paulpro
ええと、「私はすでに回答を受け入れていますが」とは何ですか? –
どういう意味ですか? –