第二章 java基礎(chǔ)(二進(jìn)制補(bǔ)碼)

—— 本文參照 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)制表示形式:

圖1.jpg

注意二進(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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容