第2章(1)微機原理與接口技術(第三版)(王忠民)_第1頁
第2章(1)微機原理與接口技術(第三版)(王忠民)_第2頁
第2章(1)微機原理與接口技術(第三版)(王忠民)_第3頁
第2章(1)微機原理與接口技術(第三版)(王忠民)_第4頁
第2章(1)微機原理與接口技術(第三版)(王忠民)_第5頁
已閱讀5頁,還剩10頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

微機原理與接口技術西安郵電大學計算機學院董梁第二章計算機中數(shù)制和編碼(第一講)

數(shù)字在計算機中的表示和運算12信息在計算機中的表示和運算本章主要內容2.1數(shù)字在計算機中的表示和運算一、無符號數(shù)的表示

在計算機中對于無符號數(shù)分為二進制數(shù)、十進制數(shù)和十六進制數(shù)等。二進制數(shù):十進制數(shù):十六進制數(shù):以后綴B或b表示二進制數(shù)(Binary)。以后綴D或d表示十進制數(shù)(Decimal),該后綴可以省略。以后綴H或h表示十六進制數(shù)(Hexadecimal)。2.1數(shù)字在計算機中的表示和運算二、帶符號數(shù)的表示

1.機器數(shù)與真值

通常,把一個數(shù)及其符號位在機器中的一組二進制數(shù)表示形式稱為“機器數(shù)”。機器數(shù)所表示的值稱為機器數(shù)的“真值”。2.機器數(shù)的表示方法機器數(shù)通常有:原碼、反碼和補碼表示法。其符號(正負號)用一位二進制數(shù)來表示,(“0”表示正,“1”表示負),放在最高位。2.1數(shù)字在計算機中的表示和運算①原碼定義:假設字長為n,則

X

0≤X≤2n-1-1 ;X為正數(shù)

2n-1+|X|-(2n-1-1)≤X≤0;X為負數(shù)②反碼定義:假設字長為n,則

X

0≤X≤2n-1-1 ;X為正數(shù)

2n-1-|X|

-(2n-1-1)≤X≤0;X為負數(shù)③補碼定義:假設字長為n,則

X

0≤X≤2n-1-1 ;X為正數(shù)

2n-|X|

-2n-1≤X<0 ;X為負數(shù)[X]原=[X]反=[X]補=2.1數(shù)字在計算機中的表示和運算

由上可知,正數(shù)的原碼、反碼和補碼表示是相同的,而其負數(shù)的原碼、反碼和補碼是有區(qū)別的,補碼等于反碼末位加1。[X]原=1000

0101B[X]反=11111010B[X]補=2n-|X|=28-|-128|

=1000

0000B例題:求X=-5的原碼,反碼和補碼,設字長n為8。[X]補

=11111011B例題:求X=-128的原碼,反碼和補碼,設字長n為8。[X]原

超出表示范圍[X]反超出表示范圍2.1數(shù)字在計算機中的表示和運算一.原碼轉換為真值

根據原碼定義,將原碼數(shù)值位各位按權展開求和,由符號位決定數(shù)的正負即可由原碼求出真值。二.補碼轉換為真值要求補碼的真值,也要先求出補碼對應的原碼。正數(shù)的原碼與補碼相同。負數(shù)的原碼可在補碼基礎上再次求補,即:[[X]補]補=[X]原注:負數(shù)的邊界值除外例2.10已知[x]補=00001111B,[y]補=11100101B,求x和y。解:[x]原=[x]補=00001111B,

x=+(0

26+0

25+0

24+1

23+1

22+1

21+1

20)=15[y]原=[[y]補]補=10011011B,

y=-(0

26+0

25+1

24+1

23+0

22+1

21+1

20)=-272.1數(shù)字在計算機中的表示和運算2.1數(shù)字在計算機中的表示和運算補碼運算的規(guī)則為:①[X]補+[Y]補=[X+Y]補

兩數(shù)補碼的和等于兩數(shù)和的補碼②[X]補-[Y]補=[X]補+[-Y]補=[X-Y]補兩數(shù)補碼的差等于兩數(shù)差的補碼例2.11已知[+51]補=00110011B,[+66]補=01000010B,求[+66]補+[+51]補=?[+66]補-[+51]補=?解:

二進制(補碼)加法十進制加法

01000010[+66]補

+66+)00110011[+51]補

+)+5101110101[+117]補

+117

[+66]補

-[+51]補=[+66]補+[-51]補[-51]補

=11001101B

01000010[+66]補

+66+)11001101[-51]補

-)+5100001111[+15]補

+151自動丟失二進制(補碼)加法十進制加法2.1數(shù)字在計算機中的表示和運算2.1數(shù)字在計算機中的表示和運算計算機中帶符號數(shù)用補碼表示時有如下優(yōu)點:①可以將減法運算變?yōu)榧臃ㄟ\算,因此可使用同一個運算器實現(xiàn)加法和減法運算,簡化了電路。②無符號數(shù)和帶符號數(shù)的加法運算可以用同一個加法器實現(xiàn),結果都是正確的。

無符號數(shù)帶符號數(shù)

11100001

225

[-31]補+)00001101+) 13 +)[+13]補

11101110 238

[-18]補2.1數(shù)字在計算機中的表示和運算4.溢出及其判斷方法(1)進位與溢出

進位:用來判斷無符號數(shù)運算結果是否超出了計算機所能表示的最大范圍,是指運算結果的最高位向更高位的進位。

溢出:用來判斷帶符號數(shù)運算結果是否超出了計算機補碼所能表示的范圍,是指帶符號數(shù)的補碼運算結果的溢出。2.1數(shù)字在計算機中的表示和運算(2)溢出的判斷方法

微型計算機中判斷帶符號數(shù)補碼運算的溢出常采用“單符號位法”判別法。假設用OF表示溢出,用CF表示最高位(符號位)的進位,用DF表示次高位(數(shù)值部分最高位)的進位,則有

OF=CF∨DF(或OF=CF⊕DF)若OF=1說明結果溢出;若OF=0說明結果不溢出。2.1數(shù)字在計算機中的表示和運算例2.13設有兩個操作數(shù)x=01000100B,y=01001000B,將這兩個操作數(shù)送運算器做加法運算,試問: ①若為無符號數(shù),計算結果是否正確? ②若為帶符號數(shù),計算結果是否正確? 【解】 ∵無符號數(shù)帶符號數(shù)

01000100 68 [+68]補 +01001000+72+ [+72]補

10001100140 [+140]補

溫馨提示

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

評論

0/150

提交評論