我聲明瞭一個整數int i = 4945932;其廣場正出現一些負面的隨機數。這怎麼可能?我究竟做錯了什麼?幫助please.Thanks提前。
0
A
回答
7
Integer overflow. Java int不能大於2,147,483,647;如果您嘗試存儲更大的數字,則會溢出。
如果您改爲使用long
,它可以存儲更大的值,包括您要存儲的值。如果你需要更大的值,java.math.BigInteger
可以存儲任意精度的整數;唯一的限制是你電腦的內存。
2
它發生是因爲int的限制。 integer OverFlow.
int可以存儲4個字節,有符號(二進制補碼)。 -2,147,483,648至2,147,483,647。
如果你寫int i= square(4945932)
它是24462243348624所以它會超過int的限制,所以它的行爲異常。
1
您超出了int的大小。您將需要更改爲長時間,如果你想方4945932.
2
您可以使用
long l = 4945932L;
System.out.println(l * l);
BigInteger bi = BigInteger.valueOf(4945932L);
System.out.println(bi.multiply(bi));
打印
24462243348624
24462243348624
相關問題
- 1. 爲什麼我的平方損失在TensorFlow中變爲負值?
- 2. 爲什麼3種算法的平均時間爲負值?
- 3. 爲什麼回負值
- 4. 爲什麼這個十六進制值作爲負數輸出?
- 5. 爲什麼在IE 7中不會出現負邊距?
- 6. 負平方根
- 7. 什麼導致水平滾動出現?
- 8. 爲什麼我得到一個負值?
- 9. 爲什麼負值不顯示?
- 10. 爲什麼Python返回負時區值?
- 11. 散列後爲什麼是負值?
- 12. 爲什麼Teradata Identity列有負值?
- 13. C++負平方根
- 14. 爲什麼%運算符有時會輸出正值,有時會輸出負值?
- 15. 爲什麼Excel的平均值會給出不同的結果?
- 16. JOptionPane爲什麼不出現?
- 17. 爲什麼雙擊出現?
- 18. 爲什麼會出現在
- 19. 爲什麼會出現NullPointerException?
- 20. 爲什麼會出現NullPointerException?
- 21. 爲什麼會出現ConcurrentModificationException?
- 22. DATE_FORMAT爲什麼不出現
- 23. JToolBar爲什麼不出現?
- 24. 爲什麼出現橫條?
- 25. 爲什麼會出現idlelib.sys
- 26. 爲什麼logloss爲負?
- 27. 爲什麼根對象實現平等?
- 28. 什麼是負載平衡PHP
- 29. 爲什麼固定div在水平滾動時出現?
- 30. 爲什麼我的計算出的百分比在Android SDK中變爲負值?
'整數overflow'吧?如果您對該術語或其原因不熟悉,現在對Google來說是個好時機。 –