—— 本文參照 Learn Java for Android Development (第三版)
其實我們都知道Java是使用二進制的形式來表示整形數(shù)字的式塌,最左邊的二進制位表示符號位,剩下的就是實際的數(shù)字大小筛严。當最左邊位為0的時候表示的是正數(shù)侧蘸,可以直接進行存儲坑鱼,如果最左邊的是1的時候則是一個負數(shù)耳鸯,那么存儲的時候就存儲它的二進制補碼樱衷。補碼的計算方式如下:正數(shù)的補碼就是它本身竞川,負數(shù)的補碼計算方式是:符號位不變店溢,其他為1變0,0變1,然后最低位加1即得到負數(shù)的補碼委乌。(這里不需要擔心加1以后影響到符號位導致負數(shù)變正數(shù)了床牧,因為正常情況下不會影響到符號位,放個詳細點的解釋吧:http://www.zybang.com/question/fa5aed371bc93e8c5a742c04bb61b367.html)
二進制補碼這種形式可以讓負數(shù)跟正數(shù)同時保存在遭贸。比方說可以計算-1加1然后就可以得到結果0.下圖表示了正2和負2的二進制表示形式:
注意二進制表示形式的第一位是符號位戈咳。
上面說的是整形的表示方法,在我們的計算機里面除了整形還有好多浮點或者雙精度浮點數(shù)壕吹,想知道浮點說的最大值和最小值是什么又怎么表示嗎著蛙,那可能要推薦一個比較高端的網址給你去翻閱翻閱了:https://en.wikipedia.org/wiki/IEEE_floating_point 從鏈接大概也看出來了是維基百科對IEEE的解釋吧,好吧耳贬,慢慢看看這個其實我也不怎么明白的標準吧踏堡,IEEE翻譯成中文叫:電氣和電子工程師協(xié)會 所以不難想象這標準應該就是他們搞出來的吧。
Page 41