關於 java Integer 的 minimum 跟 maximum 的表示方式
要顯示 java Integer type 的 minimum and maximum 的方式 Integer.MAX_VALUE (2147483647) 及 Integer.MIN_VALUE (-2147483648) 若不用內建涵式, 直覺會用: 1<<31 -1<<31 可結果卻都是 -2147483648 這是由於 1<<31 已發生 overflowed, 在java中下一個位數則是 -1<<31 要得到正確的 MAX_VALUE 可用 (1<<31)-1 其實這是我在作 leetcode (Reverse Integer) 的考題遇到的問題. 該題目回傳值跟輸入值是 int, 但側資的輸出有可能是 overflowed 的情形! 真是太狡猾了。 http://goo.gl/7el8Kf