-2
我想從一個方法返回一個最大值,我有實現這一目標的方式有兩種:更高的變量值是否使用更多的計算能力?
- 我可以使用,將不會被計算曾達到的數字,像10000
- 我可以
return Double.MAX_VALUE
我現在的問題是:在速度,內存使用等方面有差異嗎?
我想從一個方法返回一個最大值,我有實現這一目標的方式有兩種:更高的變量值是否使用更多的計算能力?
return Double.MAX_VALUE
我現在的問題是:在速度,內存使用等方面有差異嗎?
不,沒有區別。 A double
將始終在其表示中使用相同數量的位。
Java double
是IEEE-754標準的實現。
如果你想表示 「沒有上限」,然而,更好的辦法可能是使用的OptionalDouble
。
不,爲什麼會有? double總是以64位格式IEEE 754值存儲,即8個字節。 – Andreas
變量上的所有操作都涉及其所有位。因此,如果它們存儲在相同類型中,則1和1000000之間沒有計算差異 – quesyKing
正如其他人所說沒有,但是您可以使用float而不是double,因爲它只需要4個字節而不是8個,因爲您說過它無論如何不會超過10000。 – FilipRistic