二進(jìn)制表示計(jì)算機(jī)信息

原因

cpu本質(zhì)就是個(gè)電子器件,它有很多很多引腳,每個(gè)引腳只有直流電壓0v或5v兩個(gè)狀態(tài),也就是二進(jìn)制中的0和1,當(dāng)多個(gè)引腳組合起來(lái),就可以傳遞不同的信號(hào)了。

計(jì)算機(jī)處理信息單位

  1. 計(jì)算機(jī)處理信息最小單位是,就相當(dāng)于二進(jìn)制中的位,英文縮寫(xiě)bit
  1. 計(jì)算機(jī)處理信息基本單位是8位,也稱(chēng)為1個(gè)字節(jié)(byte),故8位二進(jìn)制被稱(chēng)為1個(gè)字節(jié),cpu每次讀寫(xiě)都是以字節(jié)為基本單位。

移位運(yùn)算和乘除運(yùn)算的關(guān)系

  1. 移位運(yùn)算指的是將二進(jìn)制數(shù)值的各數(shù)位進(jìn)行左右移動(dòng)的運(yùn)算,移位有左移(向高位方向,運(yùn)算符 << )和右移(向低位方向,運(yùn)算符 >> )兩種。
  1. 無(wú)論程序中使用的是幾進(jìn)制,計(jì)算機(jī)內(nèi)部都會(huì)將其轉(zhuǎn)換成二進(jìn)制數(shù)來(lái)處理,因此都能進(jìn)行移位操作。
  2. 左移運(yùn)算低位進(jìn)行補(bǔ)0,右移運(yùn)算要根據(jù)數(shù)值的正負(fù)來(lái)決定是否補(bǔ)0。
  3. 移位運(yùn)算也可以用來(lái)代替乘除法運(yùn)算,二進(jìn)制數(shù)左移后就會(huì)變成原來(lái)的2n倍,右移后就會(huì)變成原來(lái)的1/2n,其中n為移動(dòng)的位數(shù)。

補(bǔ)數(shù)

  1. 右移運(yùn)算用來(lái)填充高位的數(shù)值有0和1兩種形式,區(qū)分什么時(shí)候補(bǔ)0什么時(shí)候補(bǔ)1,就需要知道二進(jìn)制是如何表示負(fù)數(shù)的。
  2. 二進(jìn)制表示負(fù)數(shù)時(shí),一般會(huì)把高位作為符號(hào)來(lái)使用,因此最高位成為符號(hào)位,符號(hào)位是0時(shí)表示正數(shù),符號(hào)位是1時(shí)表示負(fù)數(shù)。表示負(fù)數(shù)就要使用“二進(jìn)制的補(bǔ)數(shù)”。
  3. 補(bǔ)數(shù),就是將正數(shù)的二進(jìn)制各位數(shù)值全部取反,然后再加1。檢驗(yàn)補(bǔ)數(shù)的正確性,只需記住一個(gè)法則:正數(shù)與其補(bǔ)數(shù)之和等于0。
  4. 對(duì)于減法運(yùn)算,cpu會(huì)將其轉(zhuǎn)化成加法運(yùn)算,如1-2 —> 1+(-2) = -1,這里的運(yùn)算結(jié)果為負(fù)數(shù)時(shí),在計(jì)算機(jī)中也是以補(bǔ)數(shù)表示的。
  1. 將二進(jìn)制的值表示圖形模式而非數(shù)值時(shí),移位后只需在最高位補(bǔ)0,稱(chēng)為邏輯右移,如:霓虹燈右移的效果;將二進(jìn)制數(shù)帶符號(hào)進(jìn)行運(yùn)算時(shí),移位后在最高位填充移位前符號(hào)位的值(0或1),稱(chēng)為算術(shù)右移。
  2. 符號(hào)擴(kuò)充,以8位二進(jìn)制數(shù)為例,在保持值不變的前提下將其轉(zhuǎn)換成16位和32位二進(jìn)制數(shù),那么高位應(yīng)該補(bǔ)0還是1呢。這里記住一點(diǎn):不管是正數(shù)還是負(fù)數(shù),都只需用符號(hào)位的值(0或1)填充高位即可。

邏輯運(yùn)算

  1. 計(jì)算機(jī)能處理的運(yùn)算大體分為算術(shù)運(yùn)算和邏輯運(yùn)算,算術(shù)運(yùn)算加減乘除四則運(yùn)算,邏輯運(yùn)算指對(duì)二進(jìn)制數(shù)各數(shù)字位的0或1分別進(jìn)行處理的運(yùn)算,包括邏輯非|與|或|異或四種
  1. 邏輯非指按位取反操作,邏輯與指:同為1則為1,否則為0,邏輯或指:至少有一個(gè)為1就為1否則為0,邏輯異或指:兩個(gè)不相同就為1否則為0。
  2. 邏輯非是所有位的取反操作,邏輯與是將一部分變?yōu)?(復(fù)位到0)的操作,邏輯或是將一部分變?yōu)?(復(fù)位到1)的操作,邏輯異或是將一部分進(jìn)行取反(相同取0,不同取1)的操作。

用二進(jìn)制表示小數(shù)

小數(shù)點(diǎn)前面的部分位權(quán)從0次冪開(kāi)始遞增,小數(shù)點(diǎn)后面部分的位權(quán)從-1次冪開(kāi)始遞增,這一規(guī)律也同樣適用于十進(jìn)制和十六進(jìn)制。

計(jì)算機(jī)出錯(cuò)的原因

有一些十進(jìn)制數(shù)的小數(shù)無(wú)法轉(zhuǎn)換成二進(jìn)制數(shù),二進(jìn)制數(shù)小數(shù)點(diǎn)后4位表示的數(shù)值范圍為0.0000 ~ 0.1111,因此,只能表示0.5、0.25、0.125、0.0625這四個(gè)位權(quán)組合而成的小數(shù),不能用這些位權(quán)組合成的數(shù)就無(wú)法用二進(jìn)制表示了,比如0.1就無(wú)法用二進(jìn)制表示了,這就是計(jì)算機(jī)出錯(cuò)的原因。

浮點(diǎn)數(shù)

1.像1011.0011這樣帶小數(shù)點(diǎn)的表現(xiàn)形式只是紙面上的二進(jìn)制數(shù)表現(xiàn)形式,在計(jì)算機(jī)內(nèi)部是無(wú)法使用的。
2.數(shù)據(jù)類(lèi)型中,雙精度浮點(diǎn)數(shù)(double)用64位、單精度浮點(diǎn)數(shù)(float)用32位來(lái)表示全體小數(shù)。
3.浮點(diǎn)數(shù)是指用符號(hào)、位數(shù)、基數(shù)和指數(shù)來(lái)表示的小數(shù)。二進(jìn)制數(shù),基數(shù)是2。

符號(hào)部分指使用一個(gè)數(shù)據(jù)位表示數(shù)值的符號(hào),1表示負(fù),0表示正或0,數(shù)值的大小用尾數(shù)部分和指數(shù)部分表示。尾數(shù)部分用的是“將小數(shù)點(diǎn)前面的值固定為1的正則表達(dá)式”,而指數(shù)部分則是“EXCESS系統(tǒng)表現(xià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)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

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