—— 本文參照 Learn Java for Android Development (第三版)
其實(shí)我們都知道Java是使用二進(jìn)制的形式來(lái)表示整形數(shù)字的,最左邊的二進(jìn)制位表示符號(hào)位,剩下的就是實(shí)際的數(shù)字大小。當(dāng)最左邊位為0的時(shí)候表示的是正數(shù),可以直接進(jìn)行存儲(chǔ),如果最左邊的是1的時(shí)候則是一個(gè)負(fù)數(shù),那么存儲(chǔ)的時(shí)候就存儲(chǔ)它的二進(jìn)制補(bǔ)碼。補(bǔ)碼的計(jì)算方式如下:正數(shù)的補(bǔ)碼就是它本身,負(fù)數(shù)的補(bǔ)碼計(jì)算方式是:符號(hào)位不變,其他為1變0,0變1,然后最低位加1即得到負(fù)數(shù)的補(bǔ)碼。(這里不需要擔(dān)心加1以后影響到符號(hào)位導(dǎo)致負(fù)數(shù)變正數(shù)了,因?yàn)檎G闆r下不會(huì)影響到符號(hào)位,放個(gè)詳細(xì)點(diǎn)的解釋吧:http://www.zybang.com/question/fa5aed371bc93e8c5a742c04bb61b367.html)
二進(jìn)制補(bǔ)碼這種形式可以讓負(fù)數(shù)跟正數(shù)同時(shí)保存在。比方說(shuō)可以計(jì)算-1加1然后就可以得到結(jié)果0.下圖表示了正2和負(fù)2的二進(jìn)制表示形式:

注意二進(jìn)制表示形式的第一位是符號(hào)位。
上面說(shuō)的是整形的表示方法,在我們的計(jì)算機(jī)里面除了整形還有好多浮點(diǎn)或者雙精度浮點(diǎn)數(shù),想知道浮點(diǎn)說(shuō)的最大值和最小值是什么又怎么表示嗎,那可能要推薦一個(gè)比較高端的網(wǎng)址給你去翻閱翻閱了:https://en.wikipedia.org/wiki/IEEE_floating_point 從鏈接大概也看出來(lái)了是維基百科對(duì)IEEE的解釋吧,好吧,慢慢看看這個(gè)其實(shí)我也不怎么明白的標(biāo)準(zhǔn)吧,IEEE翻譯成中文叫:電氣和電子工程師協(xié)會(huì) 所以不難想象這標(biāo)準(zhǔn)應(yīng)該就是他們搞出來(lái)的吧。
Page 41