透徹理解補(bǔ)碼

說(shuō)在前面的話:

對(duì)于補(bǔ)碼多數(shù)人都是大學(xué)里面深深印在腦子里的一句話"正數(shù)的補(bǔ)碼是其本身,負(fù)數(shù)的補(bǔ)碼是符號(hào)位不動(dòng),其余位按位取反加1",對(duì)于這句話當(dāng)時(shí)并沒(méi)有想太多,理性對(duì)自己的感性說(shuō)"就是這么規(guī)定的,不要多想了".后來(lái)看書又接觸到了補(bǔ)碼,不禁想想這句話和補(bǔ)碼的原始定義究竟如何貫通呢?

正文開(kāi)始:

人產(chǎn)生了疑惑,覺(jué)著不通透,根本是感性和理性不能貫通了,前面關(guān)于求出負(fù)數(shù)補(bǔ)碼是一種感性理解,當(dāng)遇到了真正數(shù)學(xué)對(duì)于補(bǔ)碼的定義,二者不能互相融會(huì)貫通,就不爽了,那么下面看一下補(bǔ)碼的數(shù)學(xué)定義.

補(bǔ)碼數(shù)學(xué)定義.png

對(duì)于數(shù)學(xué)定義,標(biāo)示佩服,舉一個(gè)例子,就四位二進(jìn)制數(shù)來(lái)說(shuō),從-8到7,都可以用最高位作為負(fù)權(quán)位來(lái)表示,也就是說(shuō)在-8到7之間整數(shù)與此公式標(biāo)示的二進(jìn)制數(shù)是一一對(duì)應(yīng)且唯一的.在此表示對(duì)數(shù)學(xué)的欽佩,想說(shuō)明一個(gè)法則具有普遍的適應(yīng)性,數(shù)學(xué)似乎是唯一的方式.

疑惑來(lái)了:

既然這個(gè)公式和上面的那句話都可以得出負(fù)數(shù)補(bǔ)碼,那么二者究竟是怎么貫通在一起的呢?理解了這個(gè)問(wèn)題就打通了感性與理性,心中對(duì)補(bǔ)碼的疑惑也就不存在了,學(xué)知識(shí)還是盡量到達(dá)這個(gè)程度比較好.

分析:

通俗(感性認(rèn)知)理解補(bǔ)碼:例如,-1的補(bǔ)碼怎么樣才能在算數(shù)的時(shí)候產(chǎn)生他的意義呢,-1+1必須等于0,那么-1的補(bǔ)碼才有意義,或者說(shuō)得到補(bǔ)碼之后,-1+1的結(jié)果不能改變,那么看看-1的補(bǔ)碼1111,加上0001得到10000,只看四位,那么就是0了,顯然如此的完美,當(dāng)然用上面的公式做出普遍意義的證明是比較容易的,大家可以試試.

理性理解補(bǔ)碼:

-1為例,先看按位取反加1的過(guò)程,1001,符號(hào)位不動(dòng),按位取反得到1110,加1,也就是1111,這是-1的補(bǔ)碼,分步來(lái)看,其實(shí),先不看符號(hào)位,按位取反也就是0110,這相當(dāng)于0111-0001 然后加1,0111+0001=1000,所以也就是1000-0001 = 0111,再加上符號(hào)位的1就得到了1111這個(gè)補(bǔ)碼,換句話說(shuō)也就是-8+7 = -1,那么看看補(bǔ)碼數(shù)學(xué)定義的公式,也就是負(fù)權(quán)位的1與0111之和.
所以按位取反加1這種方法就是這個(gè)公式的規(guī)律性用法,為什么這么說(shuō)呢?這里的取值范圍是-8到正7,那么以正8為"鏡子",也就是1000,想求-1的補(bǔ)碼,那么就1000-0001得到與1互補(bǔ)的正數(shù),然后加上負(fù)權(quán)位,自然就得到了-1,進(jìn)一步通俗的理解就是,按位取反就是+1就是為了拿1000這個(gè)鏡子去映射出"能夠和負(fù)權(quán)位相加得到 當(dāng)前負(fù)數(shù)絕對(duì)值所對(duì)應(yīng)負(fù)數(shù)的 正數(shù),類似于互補(bǔ)角,或者說(shuō)成:是為了得到此負(fù)數(shù)絕對(duì)值,在此區(qū)間的互補(bǔ)數(shù)",所以說(shuō)按位取反+1這種方式就是在變相的用公式得出結(jié)果,本質(zhì)還是公式的定義.個(gè)人覺(jué)得這個(gè)辦法反而讓人產(chǎn)生疑惑,因?yàn)闆](méi)有給出原理,只是告訴了方法.

總結(jié):

應(yīng)該說(shuō)理解了按位取反+1就是公式的方便記憶和使用,本質(zhì)還是公式的唯一性且一一對(duì)應(yīng),那么也可以理解為啥正數(shù)的補(bǔ)碼是其本身了,因?yàn)檎龜?shù)最高權(quán)位是0,根本沒(méi)有變化,現(xiàn)在想想還是從數(shù)學(xué)的角度去認(rèn)知類似事物比較好,沒(méi)什么可模糊疑惑糾纏的.

說(shuō)在后面的話:

關(guān)鍵的地方在于按位取反+1就是得到了,此負(fù)數(shù)絕對(duì)值,在此區(qū)間的互補(bǔ)數(shù),然后加上負(fù)權(quán)位.

最后編輯于
?著作權(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)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • ?轉(zhuǎn)自百度百科 ?計(jì)算機(jī)中的符號(hào)數(shù)有三種表示方法,即原碼、反碼和補(bǔ)碼。三種表示方法均有符號(hào)位和數(shù)值位兩部分,符號(hào)位...
    SunnyMore閱讀 1,992評(píng)論 0 1
  • 本篇文章講解了計(jì)算機(jī)的原碼, 反碼和補(bǔ)碼. 并且進(jìn)行了深入探求了為何要使用反碼和補(bǔ)碼, 以及更進(jìn)一步的論證了為何可...
    yang2yang閱讀 2,459評(píng)論 1 13
  • http://www.itdecent.cn/p/55a8195291db本篇文章講解了計(jì)算機(jī)的原碼, 反碼和補(bǔ)...
    PupilCHen閱讀 1,277評(píng)論 1 48
  • 一. 機(jī)器數(shù)和真值 在學(xué)習(xí)原碼, 反碼和補(bǔ)碼之前, 需要先了解機(jī)器數(shù)和真值的概念. 1、機(jī)器數(shù) 一個(gè)數(shù)在計(jì)算機(jī)中的...
    小小的coder閱讀 1,040評(píng)論 0 0
  • 今天把小米手機(jī)退回去。
    李雷川閱讀 204評(píng)論 0 0

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