您當前的位置:首頁 > 體育

Java中為什麼Interger.MAX_VALUE加一就變成負數了?

作者:由 單推輝夜月 發表于 體育時間:2019-11-14

Java中為什麼Interger.MAX_VALUE加一就變成負數了?紫盛2019-11-16 16:35:00

有範圍啊,兄弟

Java中為什麼Interger.MAX_VALUE加一就變成負數了?搖頭哥2019-11-18 16:48:44

因為過了12點就是第二天了。

建議你補習一下二進位制補碼運算。

Java中為什麼Interger.MAX_VALUE加一就變成負數了?知乎使用者2019-11-21 23:40:47

32位的int型正數用原碼儲存的,負數是用補碼儲存的,不懂的名詞請自行百度

Java中為什麼Interger.MAX_VALUE加一就變成負數了?康冕峰2019-11-21 23:46:23

8086微機原理怎麼・_・?學的

這不是第一章的內容嗎。

最底層因該是計算機CPU加法器(暫存器構成)的補碼運算。最前面的一位本來是2進位制的0表示正數,你非要去再加一個單位,最高位前面的符號位,進位成了2進位制的1,1表示補碼的負號。

Java中為什麼Interger.MAX_VALUE加一就變成負數了?雪關馬不前2019-11-27 20:20:15

Integer範圍是-2^32~2^32-1

轉換成二進位制第一個剛好高位為1

第二個高位為0剩下全部是1

標簽: 補碼  32  正數  二進位制  進位制