《計算機接口技術(shù)及應(yīng)用》課件-1.7有符號二進制數(shù)的原碼和反碼_第1頁
《計算機接口技術(shù)及應(yīng)用》課件-1.7有符號二進制數(shù)的原碼和反碼_第2頁
《計算機接口技術(shù)及應(yīng)用》課件-1.7有符號二進制數(shù)的原碼和反碼_第3頁
《計算機接口技術(shù)及應(yīng)用》課件-1.7有符號二進制數(shù)的原碼和反碼_第4頁
《計算機接口技術(shù)及應(yīng)用》課件-1.7有符號二進制數(shù)的原碼和反碼_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

微機原理及應(yīng)用第一章認(rèn)識二進制第七講有符號二進制數(shù)的源碼和反碼下面我們來學(xué)習(xí)有符號二進制數(shù)的源碼和反碼,首先來看一下源碼,有符號二進制數(shù)的源碼和反碼源碼其實跟我們前面講的機器數(shù)是一種表示方式,有符號二進制數(shù)的源碼和反碼它是用最高位來表示有符號數(shù)的符號位仍然是0表示正或零,1表示負(fù),其余位為它的真值部分最高位符號數(shù)的符號位0表示正或零1表示負(fù)其余位為真值部分因為它的值和原碼之間的對應(yīng)關(guān)系非常簡單,特別容易理解,我們在看一個數(shù)的源碼的時候,只要看一下它的符號位,然后再將它的真值部分轉(zhuǎn)化成十進制的數(shù),我們就知道它對應(yīng)的數(shù)是多少了優(yōu)點:真值和原碼之間的對應(yīng)關(guān)系簡單,容易理解比如我們要求+100它的源碼,它是正數(shù),那它的符號位就是零,我們再將100這個數(shù)轉(zhuǎn)化成二進制數(shù),結(jié)果就是1100100。源碼:+100符號位:0數(shù)值位:1100100這樣的話,我們把符號位加上就構(gòu)成一個八比特的數(shù),結(jié)果就是01100100,這就是+100它的源碼源碼:+100符號位:0數(shù)值位:1100100數(shù)值位:01100100但是源碼有非常大的缺點,它的第一個缺點就是我們在使用源碼進行加減運算的時候會比較困難,為什么說比較困難呢?源碼:+100符號位:0數(shù)值位:1100100數(shù)值位:01100100缺點:用原碼進行加減運算比較困難舉個例子,我們要進行兩個源碼之間相減的運算,那我們先要判斷這兩個數(shù)誰大誰小,數(shù)值位:1100100數(shù)值位:01100100源碼:+100大小相減,才能知道最終的結(jié)果是正還是負(fù),然后我們才能進行一個真值部分的運算,再將運算的真值和符號位放在一起得到最后的結(jié)果,數(shù)值位:1100100數(shù)值位:01100100源碼:+100大小正負(fù)真值部分運算:將真值和符號位放一起得到結(jié)果相減所以你看,在使用源碼進行加減運算的時候,尤其是減法運算的時候,我們需要通過比較大小先判斷符號,再來確定結(jié)果,這樣的處理會導(dǎo)致運算過程繁瑣,比較耗時。另外一個比較大的缺點就是源碼它對零的表示不唯一數(shù)值位:1100100數(shù)值位:01100100源碼:+100大小正負(fù)判斷符號運算繁瑣缺點:0的表示不唯一相減符號位是零,其它位為0符號位是一,其它位為0什么叫對零的表示不唯一呢?比如說我們用八個比特來表示零的源碼,那我們可以表示+0,+0就是符號位是零,其它位也是0,我也可以表示-0,-0就是符號位為一,其它位為零,這兩個都可以表示零這個值,所以用原碼來表示零的話,它是不唯一的,+0=00000000-0=10000000缺點:0的表示不唯一對0的表示不唯一會造成很多的麻煩,為什么呢?因為0它是所有運算的基準(zhǔn),不光是運算,我們在比較兩個數(shù)大小的時候,其實也是在跟0比較,那么如果零的表示不唯一的話,就會對運算的結(jié)果造成很多的困擾,所以這是源碼它的一個比較大缺點0是所有計算的基準(zhǔn),0不唯一會造成很多麻煩缺點:0的表示不唯一運算繁瑣我們再來看一下反碼,反碼是在源碼的基礎(chǔ)上進行了一個改變,對于一個數(shù)x來說,如果x是大于等于零的,那么它的反碼就等于它的源碼,數(shù)x大于等于零,反碼等于源碼如果這個數(shù)它是負(fù)數(shù),那么它的反馬就是在源碼的基礎(chǔ)上保持符號位不變,并且將數(shù)字的部分按位取反,按位取反的意思就是零變一,一變零數(shù)x小于零,反碼對應(yīng)原碼符號位不變,數(shù)值按位求反00111100按位取反11000011例題舉例說明,比如說x是負(fù)52,它的機器數(shù)就是負(fù)的011000,那么它的源碼呢就是用1表示它的符號位,然后后面是它的真值,X=-52=-0110100[X]原=10110100[X]反=11001011符號位真值例題下面我們用反碼來表示它,首先它是一個負(fù)數(shù),因此我們在源碼的基礎(chǔ)上,保持它的符號位1不變,然后將后邊的各位按位取反,即0變一,1變零,這樣得到的就是-52的反碼X=-52=-0110100[X]原=10110100[X]反=11001011符號位不變1001011按位取反再比如說x是+52,它的機器數(shù)就是正的011000,那么它的源碼呢就是用0表示它的符號位,然后后面是它的真值,例題X=+52=+0110100[X]原=00110100[X]反=01001011機器數(shù):+011000符號位真值下面我們用反碼來表示它,首先它是一個正數(shù),因此它的反碼就跟原碼相同即可,同樣的,反碼在表示數(shù)的時候也有一個比較大的問題,就是它對零的表示也不唯一,例題反碼跟原碼相同,對0的表示不唯一X=+52=+0110100[X]原=00110100[X]反=01001011比如我們用反碼來表示零,如果我們表示正0的話,它就是保持跟源碼一致是全0,如果我們表示負(fù)0的話,那么就是保持一不變,然后把所有的零反轉(zhuǎn)成一,那就是所有位都是一例題0的反碼[+0]反=00000000[-0]反=11111111表示正0:跟源碼一致是全0表示負(fù)0:所有位0反轉(zhuǎn)成一所以,對于反馬來說,正0和負(fù)零這兩個值是完全不同的,也就是他對零的表示是不唯一的,例題0的反碼[+0]反=00000000[-0]反=11111111正0和負(fù)零的值不同,對0的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論