我有這樣的代碼產生0和無窮大之間的隨機雙Java中
,我試圖發送一個隨機雙到方法「好玩」
BL是雙等於1這裏
double inf=Double.POSITIVE_INFINITY;
double rand=inf*R.nextDouble();
double myrand=fun(rand)*BL;
mylist.get(i).set_speed(myrand);
這裏是「好玩」的方法
double fun(double v)
{
return ((pow(A,K)*exp((-1)*A*v)*pow(v,K-1))/(fact(K-1)));
}
但速度的輸出參數是ALW ays NaN
Infinity在IEEE 754中定義;然而這並不意味着它是無限的價值。請參閱[關於IEEE 754雙精度的維基百科](https://en.wikipedia.org/wiki/Double-precision_floating-point_format) –
不會將隨機生成的double乘以無窮大始終使該值爲無窮大?那不是打破了隨機目的? –
數字的無限次數始終爲無窮 –