哈工大版計算機(jī)組成原理第2章---計算機(jī)中信息的表示與運(yùn)算_第1頁
哈工大版計算機(jī)組成原理第2章---計算機(jī)中信息的表示與運(yùn)算_第2頁
哈工大版計算機(jī)組成原理第2章---計算機(jī)中信息的表示與運(yùn)算_第3頁
哈工大版計算機(jī)組成原理第2章---計算機(jī)中信息的表示與運(yùn)算_第4頁
哈工大版計算機(jī)組成原理第2章---計算機(jī)中信息的表示與運(yùn)算_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、人才是培養(yǎng)出來的人才是培養(yǎng)出來的本章內(nèi)容本章內(nèi)容學(xué)習(xí)目標(biāo)學(xué)習(xí)目標(biāo)數(shù)據(jù)的表示數(shù)據(jù)的表示 定點(diǎn)數(shù)的運(yùn)算定點(diǎn)數(shù)的運(yùn)算 浮點(diǎn)數(shù)的運(yùn)算浮點(diǎn)數(shù)的運(yùn)算 字符的表示字符的表示 面向錯誤檢測與糾錯的數(shù)據(jù)編碼面向錯誤檢測與糾錯的數(shù)據(jù)編碼面向存儲與傳輸?shù)臄?shù)據(jù)編碼面向存儲與傳輸?shù)臄?shù)據(jù)編碼 人才是培養(yǎng)出來的人才是培養(yǎng)出來的p思考如下幾個問題:問題思考如下幾個問題:問題 1-1-如何表示如何表示“正正/ /負(fù)負(fù)”? p思考如下幾個問題:問題思考如下幾個問題:問題 2-2-如何表示如何表示“小數(shù)點(diǎn)小數(shù)點(diǎn)”? 用用“0”表示表示“+”用用“1”表示表示“”不表示不表示!默認(rèn)小數(shù)點(diǎn)在數(shù)值的最前方或者最后方默認(rèn)小數(shù)點(diǎn)在數(shù)值的最前

2、方或者最后方。 這樣得到的數(shù)叫這樣得到的數(shù)叫定點(diǎn)數(shù)定點(diǎn)數(shù)(Fixed point number)小數(shù)點(diǎn)被默認(rèn)位于數(shù)值前部的叫小數(shù)點(diǎn)被默認(rèn)位于數(shù)值前部的叫 定點(diǎn)小數(shù)定點(diǎn)小數(shù)小數(shù)點(diǎn)被默認(rèn)位于數(shù)值后部的叫小數(shù)點(diǎn)被默認(rèn)位于數(shù)值后部的叫 定點(diǎn)整數(shù)定點(diǎn)整數(shù)。一臺計算機(jī)只選擇一臺計算機(jī)只選擇實(shí)現(xiàn)一種定點(diǎn)數(shù)實(shí)現(xiàn)一種定點(diǎn)數(shù)人才是培養(yǎng)出來的人才是培養(yǎng)出來的真值:真值:真正的數(shù)值,即帶真正的數(shù)值,即帶“”、“”號的數(shù)。號的數(shù)。 定義定義即人類日常數(shù)學(xué)計算中所用到的數(shù)字表示形式:即人類日常數(shù)學(xué)計算中所用到的數(shù)字表示形式:+7、+101010010、等、等機(jī)器數(shù):機(jī)器數(shù): 將符號數(shù)字化之后的數(shù)。將符號數(shù)字化之后的數(shù)。用

3、于存儲在計算機(jī)中的數(shù);用于存儲在計算機(jī)中的數(shù);當(dāng)然,這些數(shù)都是二進(jìn)制形式當(dāng)然,這些數(shù)都是二進(jìn)制形式思考思考例如例如(人類的)真值(人類的)真值機(jī)器數(shù)機(jī)器數(shù)+ 1100 11000 1011小數(shù)點(diǎn)的位置小數(shù)點(diǎn)的位置1 1011小數(shù)點(diǎn)的位置小數(shù)點(diǎn)的位置0 1100小數(shù)點(diǎn)的位置小數(shù)點(diǎn)的位置1 1100小數(shù)點(diǎn)的位置小數(shù)點(diǎn)的位置約定:最高位約定:最高位MSB為符號位為符號位人才是培養(yǎng)出來的人才是培養(yǎng)出來的如何將這些真值連同符號位在計算機(jī)中表示呢?如何將這些真值連同符號位在計算機(jī)中表示呢?數(shù)值部分?jǐn)?shù)值部分符號位符號位 一種新的編碼一種新的編碼(保證編碼后的數(shù)可以進(jìn)行高效的各種運(yùn)算)(保證編碼后的數(shù)可以進(jìn)行

4、高效的各種運(yùn)算)思考思考依據(jù)編碼方案不同,機(jī)器數(shù)分為:依據(jù)編碼方案不同,機(jī)器數(shù)分為:原碼原碼補(bǔ)碼補(bǔ)碼反碼反碼移碼移碼人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示0. 定點(diǎn)小數(shù)定點(diǎn)小數(shù) 與與 定點(diǎn)整數(shù)定點(diǎn)整數(shù)若默認(rèn)小數(shù)點(diǎn)在符號位與若默認(rèn)小數(shù)點(diǎn)在符號位與 數(shù)值最高位之間,則計算數(shù)值最高位之間,則計算 機(jī)實(shí)現(xiàn)的是機(jī)實(shí)現(xiàn)的是定點(diǎn)小數(shù)定點(diǎn)小數(shù);若默認(rèn)小數(shù)點(diǎn)在數(shù)值最低位之后,則計算若默認(rèn)小數(shù)點(diǎn)在數(shù)值最低位之后,則計算 機(jī)實(shí)現(xiàn)的是機(jī)實(shí)現(xiàn)的是定點(diǎn)整數(shù)定點(diǎn)整數(shù)。1. 原碼(符號原碼(符號-絕對值)表示法絕對值)表示法 x 1 x 0 x原原 = 1 x 0 x 1X:真值:真值x原原

5、:機(jī)器數(shù)的原碼表示形式:機(jī)器數(shù)的原碼表示形式其中其中公式公式-定點(diǎn)小數(shù)定點(diǎn)小數(shù)x原原 = 0,x 2n x 02n x 0 x 2nx 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)x原原為機(jī)器數(shù)的原碼表示形式為機(jī)器數(shù)的原碼表示形式其中其中公式公式-定點(diǎn)整數(shù)定點(diǎn)整數(shù)人才是培養(yǎng)出來的人才是培養(yǎng)出來的規(guī)律規(guī)律若若X 0./,x1x2xn 則則x原原 = 0./,x1x2xn若若X - 0. /,x1x2xn 則則x原原 = 1. /,x1x2xn若若x 0則則x原原 = ?X = + 1011010B, X原原 = 0,1011010B;Y = 1011010B, Y原原 = 1,1011010B;Z,

6、 Z原原 ;K, K原原 = 1. 1101010B。練習(xí)練習(xí)書寫時,在符號位與數(shù)值最高位之間書寫時,在符號位與數(shù)值最高位之間加加“.”表示數(shù)據(jù)是定點(diǎn)小數(shù)表示數(shù)據(jù)是定點(diǎn)小數(shù) 示例示例X 0.1001 ,則,則x原原 X 0.1001 ,則,則x原原 0.10011 0.1001 1.1001書寫時,在符號位與數(shù)值最高位之間加書寫時,在符號位與數(shù)值最高位之間加“,”表示數(shù)據(jù)是定點(diǎn)整數(shù)表示數(shù)據(jù)是定點(diǎn)整數(shù) 計算機(jī)并不存儲計算機(jī)并不存儲“,”/ “.” 人才是培養(yǎng)出來的人才是培養(yǎng)出來的【例例2-1】 設(shè)機(jī)器字長為設(shè)機(jī)器字長為8位,位,X = 0101010B, Y = + 1010101B,求,求X原

7、原 和和Y原原=? 解:解:X原原 = 10101010B,Y原原 = 01010101B2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示習(xí)題習(xí)題【例例2-2】 設(shè)機(jī)器字長為設(shè)機(jī)器字長為8位,位,X = 0,求,求X原原=?解:對于零(解:對于零(0)而言,其原碼中的符號位?。┒?,其原碼中的符號位取0、取、取1都可以,所以都可以,所以 X原原 = 10000000B 或或 X原原 = 00000000B + 0原原 0原原 結(jié)論:結(jié)論:零零(0)的原碼表示有兩個:正零和負(fù)零的原碼表示有兩個:正零和負(fù)零+0和和-0是兩個不同的數(shù)!是兩個不同的數(shù)!人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的

8、表示定點(diǎn)數(shù)的表示習(xí)題習(xí)題【例例2-3】 已知已知 x原原 = 1.0011 求求 x解解:x = 1 x原原 = 1 1.0011 = 0.0011【例例2-4】 已知已知 x原原 = 1.0101 求求 x【例例2-5】 已知已知 x原原 = 1,1010 求求 x【例例2-6】 已知已知 x原原 = 1,1100求求 xx = 1 x原原 = 1 1.0101 = 0.0101解解:x = 24 x原原 = 10000 1,1010 = 1010解解:x = 24 x原原 = 10000 1,1100 = 1100解解:人才是培養(yǎng)出來的人才是培養(yǎng)出來的 (2n11) +(2n11)2. 1

9、. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示F表示范圍表示范圍(1 1)定點(diǎn)整數(shù))定點(diǎn)整數(shù) 原碼形式的原碼形式的n位定點(diǎn)整數(shù)的表示范圍是:位定點(diǎn)整數(shù)的表示范圍是:8位定點(diǎn)整數(shù)的表示范圍是位定點(diǎn)整數(shù)的表示范圍是: (271) +(271),即,即:127+127;16位定點(diǎn)整數(shù)的表示范圍是位定點(diǎn)整數(shù)的表示范圍是:(2151) +(2151),即,即:32767+32767(2 2)定點(diǎn)小數(shù))定點(diǎn)小數(shù)原碼表示的原碼表示的n位定點(diǎn)小數(shù)的表示范圍是位定點(diǎn)小數(shù)的表示范圍是: (12(n1) ) + (12(n1) )人才是培養(yǎng)出來的人才是培養(yǎng)出來的原碼原碼簡單明了,易于和真值轉(zhuǎn)換,但是原碼實(shí)現(xiàn)的加、減運(yùn)算比較復(fù)雜。

10、簡單明了,易于和真值轉(zhuǎn)換,但是原碼實(shí)現(xiàn)的加、減運(yùn)算比較復(fù)雜。比如,用戶指定計算(比如,用戶指定計算(+5)+(-3)最終機(jī)器執(zhí)行的是)最終機(jī)器執(zhí)行的是5-3。用戶指定的加法。用戶指定的加法運(yùn)算卻要使用減法器。那么能否找到一個與負(fù)數(shù)等價的正數(shù)來代替負(fù)數(shù),然運(yùn)算卻要使用減法器。那么能否找到一個與負(fù)數(shù)等價的正數(shù)來代替負(fù)數(shù),然后用加法代替減法呢?后用加法代替減法呢?2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示為為了擴(kuò)大表數(shù)范圍,在數(shù)據(jù)都是正數(shù)的情況下,可以把符號位省掉。了擴(kuò)大表數(shù)范圍,在數(shù)據(jù)都是正數(shù)的情況下,可以把符號位省掉。這樣這樣n位定點(diǎn)整數(shù)的表示范圍是:位定點(diǎn)整數(shù)的表示范圍是:0 +(2n 1)8位

11、定點(diǎn)整數(shù)的表示范圍是位定點(diǎn)整數(shù)的表示范圍是:0 +(281),即,即: 0+255;16位定點(diǎn)整數(shù)的表示范圍是位定點(diǎn)整數(shù)的表示范圍是:0 +(2161),即,即: 0+65535 可見,定點(diǎn)數(shù)又分為帶符號數(shù)和無符號數(shù)??梢?,定點(diǎn)數(shù)又分為帶符號數(shù)和無符號數(shù)。 原碼和后面介紹的補(bǔ)碼、反碼都是針對原碼和后面介紹的補(bǔ)碼、反碼都是針對 帶符號數(shù)的。帶符號數(shù)的。F原碼的不足原碼的不足F表示范圍表示范圍人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示減法運(yùn)算減法運(yùn)算 加法運(yùn)算加法運(yùn)算能!機(jī)器數(shù)采用補(bǔ)碼表示就能實(shí)現(xiàn)這個愿望。能!機(jī)器數(shù)采用補(bǔ)碼表示就能實(shí)現(xiàn)這個愿望。思考思考轉(zhuǎn)換成轉(zhuǎn)換成逆

12、時針旋轉(zhuǎn)逆時針旋轉(zhuǎn) 格格順時針旋轉(zhuǎn)順時針旋轉(zhuǎn) 格格方法方法1方法方法2欲表示欲表示3點(diǎn)鐘點(diǎn)鐘39可見:可見:3+9相互等價相互等價我們稱:我們稱:+ 9 是是 3 以以 12 為模的補(bǔ)數(shù)為模的補(bǔ)數(shù)記作:記作:3 + 9 (mod 12)人才是培養(yǎng)出來的人才是培養(yǎng)出來的二進(jìn)制數(shù)二進(jìn)制數(shù)1011 可用可用 + 0101 代替代替2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示類似類似 4 + 8 (mod 12) 5 + 7 (mod 12)1. 兩個互為補(bǔ)數(shù)的數(shù),它們絕對值之和即為兩個互為補(bǔ)數(shù)的數(shù),它們絕對值之和即為 模模 數(shù)數(shù)。2. 一個負(fù)數(shù)加上一個負(fù)數(shù)加上 “模?!?即得該負(fù)數(shù)的補(bǔ)數(shù)。即得該負(fù)數(shù)的補(bǔ)

13、數(shù)。3. 正數(shù)的補(bǔ)數(shù)即為其本身。正數(shù)的補(bǔ)數(shù)即為其本身。結(jié)論結(jié)論答案是肯定的,就是采用答案是肯定的,就是采用 補(bǔ)碼補(bǔ)碼來表示數(shù)據(jù)來表示數(shù)據(jù) 舉例舉例以以16為模時,為模時,記作記作 1011 + 0101 (mod 24)同理同理 011 + 101 (mod 23) 0.1001 + 1.0111 (mod 2)人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼公式公式-定點(diǎn)小數(shù)定點(diǎn)小數(shù)公式公式-定點(diǎn)整數(shù)定點(diǎn)整數(shù)x補(bǔ)補(bǔ) = x 1 x 02 + x 0 x 1(mod 2)x 為真值為真值x補(bǔ)補(bǔ)為機(jī)器數(shù)的補(bǔ)碼表示形式為機(jī)器數(shù)的補(bǔ)碼表示形式其中其中x補(bǔ)補(bǔ) = 0,

14、x 2n x 02n+1 + x 0 x 2n(mod 2n+1)x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)x補(bǔ)補(bǔ)為機(jī)器數(shù)的補(bǔ)碼形式為機(jī)器數(shù)的補(bǔ)碼形式其中其中人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼xx補(bǔ)補(bǔ)x = 0.1100000 x補(bǔ)補(bǔ) = 2+( 0.1100000 )0.1100000用用 小數(shù)點(diǎn)小數(shù)點(diǎn) 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開【例例2-7】 已知已知 x為定點(diǎn)小數(shù),求為定點(diǎn)小數(shù),求x補(bǔ)補(bǔ) 人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼【例例2-8】 已知已知 x為定點(diǎn)整數(shù),

15、求為定點(diǎn)整數(shù),求x補(bǔ)補(bǔ) x = +1010 x補(bǔ)補(bǔ) = 27+1 +( 1011000 )= 1000000001011000 x補(bǔ)補(bǔ) = 0,1010 x = 10110001,0101000用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開人才是培養(yǎng)出來的人才是培養(yǎng)出來的20.1100 習(xí)題習(xí)題【例例2-9】 已知已知x 0.1100 ,則,則 x補(bǔ)補(bǔ) 2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼【例例2-10】已知已知x ,則,則 x補(bǔ)補(bǔ) 【例例2-11】已知已知x補(bǔ)補(bǔ) 0.1010 則則 x 【例例2-12】已知已知x補(bǔ)補(bǔ) 1.1010 則則 x 【例例2-13】0.000

16、0補(bǔ)補(bǔ) 【例例2-14】0.0000補(bǔ)補(bǔ) 0.0000 (mod2)人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題【例例2-15】已知已知 x 1001 ,則,則x補(bǔ)補(bǔ) 2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼【例例2-16】已知已知 x 1001 ,則,則x補(bǔ)補(bǔ) 0,10012411001 10000010010101111,0111【例例2-17】在機(jī)器字長為在機(jī)器字長為8位時,位時,+1補(bǔ)補(bǔ) = 0,0000001B,+127補(bǔ)補(bǔ) = 0,1111111B, 1補(bǔ)補(bǔ) = 28 1 = 1,1111111B,127補(bǔ)補(bǔ) = 28 127 = 1,0000001B, +0補(bǔ)補(bǔ) = 000

17、00000B, 0補(bǔ)補(bǔ) = 28 0 = 00000000B 人才是培養(yǎng)出來的人才是培養(yǎng)出來的(3)求補(bǔ)碼的快捷方式)求補(bǔ)碼的快捷方式0.x1x2xn0.x1x2xn1.x1x2xn1.x1 x2xn0.001 若若x 0.x1x2xn ,則,則 【x】原原 【x】補(bǔ)補(bǔ) 若若x 0.x1x2xn ,則,則 【x】原原 【x】補(bǔ)補(bǔ) 0,x1x2xn0,x1x2xn 若若x x1x2xn ,則,則 【x】原原 【x】補(bǔ)補(bǔ) 1,x1x2xn1,x1 x2xn0.001符號位除外,各位取反,末尾加符號位除外,各位取反,末尾加1符號位除外,各位取反,末尾加符號位除外,各位取反,末尾加1符號位在內(nèi),各位取

18、反,末尾加符號位在內(nèi),各位取反,末尾加1符號位在內(nèi),各位取反,末尾加符號位在內(nèi),各位取反,末尾加1原碼原碼補(bǔ)碼補(bǔ)碼【x】補(bǔ)補(bǔ)【x】補(bǔ)補(bǔ)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù)負(fù)數(shù) 若若x x1x2xn ,則,則 【x】原原 【x】補(bǔ)補(bǔ) 各位取反,各位取反,末位加末位加1 各位取反,各位取反,末位加末位加1人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題【例例2-18】設(shè)機(jī)器字長為設(shè)機(jī)器字長為8位,位,X = 46,求,求X補(bǔ)補(bǔ) =?解:解:X原原 = 10101110B。除了符號位外,對。除了符號位外,對X原原每位取反每位取反得到得到11010001B,在最低位加在最低位加1得到得到11010010B。所以所以

19、X補(bǔ)補(bǔ) =11010010B【例例2-19】設(shè)機(jī)器字長為設(shè)機(jī)器字長為16位,位,Y = 116,求,求Y補(bǔ)補(bǔ) =?解:解: Y原原 = 1000 0000 0111 0100 B, 則則Y補(bǔ)補(bǔ) = 1111 1111 1000 1100 B = FF8CH十六進(jìn)制形式十六進(jìn)制形式2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼(1 1)定點(diǎn)整數(shù))定點(diǎn)整數(shù)補(bǔ)碼形式的補(bǔ)碼形式的n位定點(diǎn)整數(shù)的表示范圍是:位定點(diǎn)整數(shù)的表示范圍是: 2n1 +(2n11)8位定點(diǎn)整數(shù)的表示范圍是位定點(diǎn)整數(shù)的表示范圍是:16位定點(diǎn)整數(shù)的表

20、示范圍是位定點(diǎn)整數(shù)的表示范圍是: 27 +(271),即,即: 128+127;215 +(2151),即,即: 32768+32767(2 2)定點(diǎn)小數(shù))定點(diǎn)小數(shù)補(bǔ)碼表示的補(bǔ)碼表示的n位定點(diǎn)小數(shù)的表示范圍是位定點(diǎn)小數(shù)的表示范圍是: 1 + (12(n1) )F表示范圍表示范圍人才是培養(yǎng)出來的人才是培養(yǎng)出來的 y補(bǔ)補(bǔ) = 1.y1 y2 yn + 2-n2n12n1 2n 2 2n苦練基本功苦練基本功繼續(xù)繼續(xù)則 y補(bǔ)補(bǔ)=_ 111.1 0.00.1 0.11.1 1.111. . . .1= 已知已知y = 0. y1 y2 yn人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)

21、數(shù)的表示-補(bǔ)碼補(bǔ)碼真值真值0, 10001101, 01110100,10001101,1000110不能表示不能表示x = + 70 x = 0.1110 x = 0.0000 x = 70 x = 0.1110 x = 0.0000 x = 1.0000 1補(bǔ)補(bǔ) = 2 + x = 10.0000 1.0000 = 1.0000+ 0補(bǔ)補(bǔ) = 0補(bǔ)補(bǔ)由小數(shù)補(bǔ)碼定義由小數(shù)補(bǔ)碼定義x補(bǔ)補(bǔ) = x 1 x 02+ x 0 x 1(mod 2)= 1000110= 1000110 x補(bǔ)補(bǔ) x原原提示提示小數(shù)時,小數(shù)時,-1的補(bǔ)碼在形式上的補(bǔ)碼在形式上與與-0的原碼一致的原碼一致人才是培養(yǎng)出來的人才

22、是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼(1)已知)已知 【x】補(bǔ)補(bǔ) 1.1011,則則 【x】補(bǔ)補(bǔ) (2)已知)已知 【x】補(bǔ)補(bǔ) 0.1011,則則 【x】補(bǔ)補(bǔ) (3)已知)已知 【x】補(bǔ)補(bǔ) 1,1011,則則 【x】補(bǔ)補(bǔ) (4)已知)已知 【x】補(bǔ)補(bǔ) 0,1011,則則 【x】補(bǔ)補(bǔ) 0, 01011, 0101結(jié)論:結(jié)論:【x】補(bǔ)補(bǔ) 和和【x】補(bǔ)補(bǔ) 之間的關(guān)系是連之間的關(guān)系是連 同符號位在內(nèi)按位取反末位加同符號位在內(nèi)按位取反末位加1 人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-補(bǔ)碼補(bǔ)碼(5)已知)已知 【x】原原 0.1011,則則 【x

23、】補(bǔ)補(bǔ) (6)已知)已知 【x】原原 1.1011,則則 【x】補(bǔ)補(bǔ) (7)已知)已知 【x】補(bǔ)補(bǔ) 1,1011,則則 【x】原原 (8)已知)已知 【x】補(bǔ)補(bǔ) 0,1011,則則 【x】原原 0, 01011, 1011人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-反碼反碼x反反 = x 1 x 0( 2 2-n) + x 0 x 1(mod 2 2-n)x反反為機(jī)器碼的反碼表示為機(jī)器碼的反碼表示x 為真值為真值n為整數(shù)的位數(shù)為整數(shù)的位數(shù)其中其中公式公式-定點(diǎn)小數(shù)定點(diǎn)小數(shù)公式公式-定點(diǎn)整數(shù)定點(diǎn)整數(shù)x反反 = 0,x 2n x 0( 2n+1 1) + x 0 x

24、2n(mod 2n+11)x 為真值為真值n 為整數(shù)的位數(shù)為整數(shù)的位數(shù)x反反為機(jī)器數(shù)的反碼表示為機(jī)器數(shù)的反碼表示其中其中反碼是相對原碼的反碼是相對原碼的反碼是相對原碼的反碼是相對原碼的人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-反碼反碼習(xí)題習(xí)題【例例2-21】已知已知 x ,則,則 【x】反反 【例例2-22】已知已知 x ,則,則 【x】反反 2 24 10.00000.00011.11110.1001【例例2-23】已知已知 x 1001,則,則 【x】反反 0,1001【例例2-24】已知已知 x 1001,則,則 【x】反反 241110011000001

25、00101011110101110101101,0110【反碼反碼】就是針對就是針對 【原碼原碼】而提出的!而提出的!【原碼原碼】【反碼反碼】相反相反相反相反人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-反碼反碼1x2xn1 x2xnF 若若 x 1x2xn 則則 【x】反反 F 若若 x 1x2xn 則則 【x】反反 (1 1)定點(diǎn)小數(shù))定點(diǎn)小數(shù)F規(guī)律規(guī)律(1 1)定點(diǎn)整數(shù))定點(diǎn)整數(shù)0,x1x2xnF 若若 x x1x2xn 則則 【x】反反 1,x1 x2xnF 若若 x x1x2xn 則則 【x】反反 負(fù)數(shù)時,每位取反,添加符號位!負(fù)數(shù)時,每位取反,添加符號位

26、!負(fù)數(shù)時,每位取反,添加符號位!負(fù)數(shù)時,每位取反,添加符號位!人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-反碼反碼F規(guī)律規(guī)律【X】原碼原碼符號位除外,各位取反符號位除外,各位取反符號位除外,各位取反符號位除外,各位取反末位減末位減1末位加末位加1【X】反反碼碼【X】補(bǔ)碼補(bǔ)碼【X】反反碼碼當(dāng)當(dāng)X為負(fù)數(shù)時,為負(fù)數(shù)時,【例例2-25】求求【0】反反 習(xí)題習(xí)題設(shè)設(shè) xx = 【+0.0000】反反【 0.0000】反反F同理,對于整數(shù)同理,對于整數(shù)F對于小數(shù)對于小數(shù)【+0】反反= 0,0000【 0】反反= 1,1111+0和和-0是兩個不同的數(shù)是兩個不同的數(shù)人才是培養(yǎng)出

27、來的人才是培養(yǎng)出來的【例例2-26】設(shè)機(jī)器數(shù)字長為設(shè)機(jī)器數(shù)字長為 8 位(其中一位為符號位)對于整數(shù),位(其中一位為符號位)對于整數(shù), 當(dāng)其分別代表無符號數(shù)、原碼、補(bǔ)碼和反碼時,對應(yīng)的真值范圍當(dāng)其分別代表無符號數(shù)、原碼、補(bǔ)碼和反碼時,對應(yīng)的真值范圍各為多少?各為多少?習(xí)題習(xí)題二進(jìn)制代碼二進(jìn)制代碼 無符號數(shù)無符號數(shù)對應(yīng)的真值對應(yīng)的真值原碼對應(yīng)原碼對應(yīng) 的真值的真值補(bǔ)碼對應(yīng)補(bǔ)碼對應(yīng) 的真值的真值反碼對應(yīng)反碼對應(yīng) 的真值的真值0000000000000001000000100111111110000000100000011111110111111110111111111281290121272532

28、54255-1-125-126-127+0+1+2+127-127+0+1+2+127-128-3-2-1+0-127-126-2-1-0+0+1+2+127不相同不相同相同相同0人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-移碼移碼公式公式-定點(diǎn)整數(shù)定點(diǎn)整數(shù)x 為真值為真值x移移 = 2n + x(2nx 2n)n 為為 整數(shù)的位數(shù)整數(shù)的位數(shù)x移移為機(jī)器數(shù)的移碼表示為機(jī)器數(shù)的移碼表示其中其中移碼主要是針對整數(shù)的;移碼主要是針對整數(shù)的;小數(shù)一般無移碼形式。小數(shù)一般無移碼形式。提示提示移碼在數(shù)軸上的表示移碼在數(shù)軸上的表示x移碼移碼2n+112n2n 12n00真值真值

29、由于移碼在編碼中只是加上了一個常數(shù),并沒有改變數(shù)據(jù)之間原本的由于移碼在編碼中只是加上了一個常數(shù),并沒有改變數(shù)據(jù)之間原本的 大小順序,所以移碼主要用于需要對數(shù)據(jù)進(jìn)行大小比較的場合。大小順序,所以移碼主要用于需要對數(shù)據(jù)進(jìn)行大小比較的場合。人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-移碼移碼x = 10100 x移移 = 25 + 10100用用 逗號逗號 將符號位將符號位和數(shù)值位隔開和數(shù)值位隔開x = 10100 x移移 = 25 10100= 1,10100= 0,01100舉例舉例【例例2-27】X = 0101011B,Y = 0101011B,求求【X】移移

30、和和【X】移移 習(xí)題習(xí)題X移移 = 27 +X=10000000B + 0101011B= 10101011B;Y移移 = 27 +Y=10000000B + (0101011B)= 01010101B;比較其大小,比較其大小,10101011B01010101B,所以所以XY。人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-移碼移碼【例例2-28】X = +0000000B, Y = 0000000B,則,則X移移 = 27 +X=10000000B + 0000000B=10000000B;Y移移 = 27 +Y=10000000B + (0000000B

31、)=10000000B;所以,所以,+0移移 = 0移移,在移碼中零有唯一的編碼。,在移碼中零有唯一的編碼。移碼僅針對定點(diǎn)整數(shù)而言的,移碼僅針對定點(diǎn)整數(shù)而言的,定點(diǎn)小數(shù)沒有移碼的定義定點(diǎn)小數(shù)沒有移碼的定義.移碼和補(bǔ)碼的比較移碼和補(bǔ)碼的比較設(shè)設(shè) x = 1100100 x移移 = 27 1100100 x補(bǔ)補(bǔ) = 1,0011100= 0,001110001移碼移碼補(bǔ)碼補(bǔ)碼將最高的符號位取反將最高的符號位取反將最高的符號位取反將最高的符號位取反人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 1 定點(diǎn)數(shù)的表示定點(diǎn)數(shù)的表示-移碼移碼移碼的特點(diǎn)移碼的特點(diǎn)【+0】=【-0】 當(dāng)當(dāng) n = 5 時,最小的真值

32、為時,最小的真值為 25= 100000,此時,此時, 100000移移= 25100000= 000000可見,可見,最小真值的移碼為全最小真值的移碼為全 0用移碼表示浮點(diǎn)數(shù)的階碼,用移碼表示浮點(diǎn)數(shù)的階碼,能方便地判斷浮點(diǎn)數(shù)的階碼大小能方便地判斷浮點(diǎn)數(shù)的階碼大小人才是培養(yǎng)出來的人才是培養(yǎng)出來的【例例2-29】真值、補(bǔ)碼和移碼的對照表】真值、補(bǔ)碼和移碼的對照表習(xí)題習(xí)題真值真值 x ( n = 5 )x補(bǔ)補(bǔ)x移移x 移移對應(yīng)的對應(yīng)的十進(jìn)制整數(shù)十進(jìn)制整數(shù)- 1 0 0 0 0 0- 1 1 1 1 1- 1 1 1 1 0- 0 0 0 0 1 0 0 0 0 0+ 0 0 0 0 1+ 0 0

33、0 1 0+ 1 1 1 1 0+ 1 1 1 1 10123132333462630 0 0 0 0 00 0 0 0 1 00 0 0 0 0 10 1 1 1 1 11 0 0 0 0 01 0 0 0 0 11 0 0 0 1 01 1 1 1 1 01 1 1 1 1 10 1 1 1 1 10 1 1 1 1 00 0 0 0 1 00 0 0 0 0 10 0 0 0 0 01 1 1 1 1 11 0 0 0 1 01 0 0 0 0 11 0 0 0 0 0- 1 0 0 0 0 0 0 0 0 0 0+ 1 1 1 1 10 0 0 0 0 01 1 1 1 1 10 0

34、0 0 0 01 0 0 0 0 0大小不清楚大小不清楚大小很清楚大小很清楚對對應(yīng)應(yīng)人才是培養(yǎng)出來的人才是培養(yǎng)出來的在計算機(jī)中,小數(shù)點(diǎn)不用專門的器件表示,而是按約定方式標(biāo)出。在計算機(jī)中,小數(shù)點(diǎn)不用專門的器件表示,而是按約定方式標(biāo)出。一、定點(diǎn)表示(小數(shù)點(diǎn)固定在某一個位置)一、定點(diǎn)表示(小數(shù)點(diǎn)固定在某一個位置)Sf S1S2 Sn數(shù)符數(shù)符數(shù)值部分?jǐn)?shù)值部分小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置Sf S1S2 Sn數(shù)符數(shù)符數(shù)值部分?jǐn)?shù)值部分小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置或或定點(diǎn)機(jī)定點(diǎn)機(jī)小數(shù)定點(diǎn)機(jī)小數(shù)定點(diǎn)機(jī)整數(shù)定點(diǎn)機(jī)整數(shù)定點(diǎn)機(jī)原碼原碼(1 2-n) +(1 2-n)(2n 1) +( 2n 1)補(bǔ)碼補(bǔ)碼 1 +(1 2-n) 2n

35、+( 2n 1)反碼反碼(1 2-n) +(1 2-n)(2n 1) +( 2n 1)常識常識人才是培養(yǎng)出來的人才是培養(yǎng)出來的計算機(jī)只能識別定點(diǎn)數(shù)。浮點(diǎn)數(shù)怎樣處理呢?計算機(jī)只能識別定點(diǎn)數(shù)。浮點(diǎn)數(shù)怎樣處理呢?思考思考借助于數(shù)學(xué)中的借助于數(shù)學(xué)中的“科學(xué)記數(shù)法科學(xué)記數(shù)法”,把浮點(diǎn)數(shù)轉(zhuǎn)化成定點(diǎn)數(shù)。,把浮點(diǎn)數(shù)轉(zhuǎn)化成定點(diǎn)數(shù)。2. 1. 2 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示 一個浮點(diǎn)數(shù)一個浮點(diǎn)數(shù)N將被表示成:將被表示成:N = M RE 。M 稱為稱為尾數(shù)尾數(shù)(Mantissa),是一個,是一個帶小數(shù)點(diǎn)的實(shí)數(shù);帶小數(shù)點(diǎn)的實(shí)數(shù);R稱為稱為基值基值(Radix),是一個常整數(shù);,是一個常整數(shù);用定點(diǎn)小數(shù)表示用定點(diǎn)小數(shù)表

36、示一般取一般取2,也可取,也可取8或或16E稱為稱為階碼階碼(Exponent) ,是一個整數(shù)。,是一個整數(shù)。表示表示人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 2 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的編碼格式:浮點(diǎn)數(shù)的編碼格式:尾數(shù)尾數(shù)n+1位,位,階碼階碼M+1位位尾數(shù)尾數(shù)越長,表示的精度越高;越長,表示的精度越高; 階碼階碼越長,表示的范圍越高。越長,表示的范圍越高。顯然,顯然,在固定長度的浮點(diǎn)數(shù)格式內(nèi),在固定長度的浮點(diǎn)數(shù)格式內(nèi),這兩者是一對矛盾!這兩者是一對矛盾!為了利用尾數(shù)所占的二進(jìn)制數(shù)位來表示最多的有效數(shù)字,浮點(diǎn)數(shù)一般采用為了利用尾數(shù)所占的二進(jìn)制數(shù)位來表示最多的有效數(shù)字,浮點(diǎn)數(shù)一般采用

37、 “規(guī)格化形式規(guī)格化形式”。規(guī)格化表示規(guī)格化表示人才是培養(yǎng)出來的人才是培養(yǎng)出來的尾數(shù)的小數(shù)點(diǎn)每向左尾數(shù)的小數(shù)點(diǎn)每向左/向右移動向右移動1位,就應(yīng)該給階碼加位,就應(yīng)該給階碼加1或減或減1,以保證浮點(diǎn)數(shù)數(shù)值不變。以保證浮點(diǎn)數(shù)數(shù)值不變。2. 1. 2 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示F通過通過移動尾數(shù)小數(shù)點(diǎn)的位置移動尾數(shù)小數(shù)點(diǎn)的位置,可將不規(guī)格化浮點(diǎn)數(shù)轉(zhuǎn)化成,可將不規(guī)格化浮點(diǎn)數(shù)轉(zhuǎn)化成“規(guī)格化規(guī)格化” 浮點(diǎn)數(shù)。浮點(diǎn)數(shù)。規(guī)格化表示規(guī)格化表示規(guī)格化方法規(guī)格化方法F在計算機(jī)中,小數(shù)點(diǎn)的位置是固定的,所以只能移動尾數(shù)。在計算機(jī)中,小數(shù)點(diǎn)的位置是固定的,所以只能移動尾數(shù)。F“規(guī)格化規(guī)格化”在計算機(jī)內(nèi)部的操作是,尾數(shù)每向

38、左在計算機(jī)內(nèi)部的操作是,尾數(shù)每向左/向右移動向右移動1位,位, 階碼就減階碼就減1/加加1。 人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 1. 2 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示下溢下溢在規(guī)格化過程中,當(dāng)在規(guī)格化過程中,當(dāng)浮點(diǎn)數(shù)階碼小于最小階碼浮點(diǎn)數(shù)階碼小于最小階碼時,稱發(fā)生時,稱發(fā)生“下溢下溢”。這時階碼(采用移碼表示)為全這時階碼(采用移碼表示)為全0,又由于發(fā)生,又由于發(fā)生“下溢下溢”的浮點(diǎn)數(shù)的絕對值的浮點(diǎn)數(shù)的絕對值 很小,所以機(jī)器強(qiáng)制把尾數(shù)置成全很小,所以機(jī)器強(qiáng)制把尾數(shù)置成全0,這樣整個浮點(diǎn)數(shù)的所有數(shù)位就都是,這樣整個浮點(diǎn)數(shù)的所有數(shù)位就都是 0,便于實(shí)現(xiàn),便于實(shí)現(xiàn)“判斷一個數(shù)是否為零判斷一個數(shù)是否

39、為零”。這樣得到的浮點(diǎn)數(shù)零稱為這樣得到的浮點(diǎn)數(shù)零稱為機(jī)器零機(jī)器零。機(jī)器零是一個特殊的合法的浮點(diǎn)數(shù)編。機(jī)器零是一個特殊的合法的浮點(diǎn)數(shù)編 碼,盡管它不符合規(guī)格化表示的要求。碼,盡管它不符合規(guī)格化表示的要求。 一個浮點(diǎn)數(shù)一個浮點(diǎn)數(shù) N 將被表示成:將被表示成:N = M RE 。N = 000000000000人才是培養(yǎng)出來的人才是培養(yǎng)出來的N = M R(1111111+1=0000000) 一個浮點(diǎn)數(shù)一個浮點(diǎn)數(shù) N 將被表示成:將被表示成:N = M RE 。2. 1. 2 浮點(diǎn)數(shù)的表示浮點(diǎn)數(shù)的表示上溢上溢同樣地,在規(guī)格化過程中,浮點(diǎn)數(shù)的階碼還會出現(xiàn)同樣地,在規(guī)格化過程中,浮點(diǎn)數(shù)的階碼還會出現(xiàn)“

40、大于最大階碼大于最大階碼” 的現(xiàn)象,即全的現(xiàn)象,即全1的階碼(采用移碼表示)在加的階碼(采用移碼表示)在加1后變成了全后變成了全0,計算計算 結(jié)果的絕對值超出了定長浮點(diǎn)數(shù)所能表示的最大絕對值結(jié)果的絕對值超出了定長浮點(diǎn)數(shù)所能表示的最大絕對值,這種現(xiàn)象,這種現(xiàn)象 稱為稱為“上溢上溢”。這時,機(jī)器將停止運(yùn)算,進(jìn)行溢出處理。這時,機(jī)器將停止運(yùn)算,進(jìn)行溢出處理。 可見,浮點(diǎn)數(shù)的溢出(下溢可見,浮點(diǎn)數(shù)的溢出(下溢/ /上溢)是由上溢)是由階碼溢出階碼溢出導(dǎo)致的。導(dǎo)致的。人才是培養(yǎng)出來的人才是培養(yǎng)出來的2( 2m1)( 1 2n)2( 2m1)2n2( 2m1)( 1 2n)2( 2m1)2n最小負(fù)數(shù)最小負(fù)

41、數(shù)最大負(fù)數(shù)最大負(fù)數(shù)最大正數(shù)最大正數(shù)最小正數(shù)最小正數(shù)負(fù)數(shù)區(qū)負(fù)數(shù)區(qū)正數(shù)區(qū)正數(shù)區(qū)下溢下溢0上溢上溢上溢上溢215 ( 1 2-10) 2-15 2-10 2-15 2-10 215 ( 1 2-10) 設(shè)設(shè) m = 4 n =10浮點(diǎn)數(shù)的表示范圍浮點(diǎn)數(shù)的表示范圍上溢上溢 階碼階碼 最大階瑪最大階瑪下溢下溢 階碼階碼 最小階碼最小階碼 按按 機(jī)器零機(jī)器零 處理處理人才是培養(yǎng)出來的人才是培養(yǎng)出來的【2-29】寫出對應(yīng)下圖所示的浮點(diǎn)數(shù)的補(bǔ)碼形式。設(shè)寫出對應(yīng)下圖所示的浮點(diǎn)數(shù)的補(bǔ)碼形式。設(shè) n = 10,m = 4, 階符、數(shù)符各取階符、數(shù)符各取 1位位解:解:215(1 210)0,1111; 0.1111

42、111111215 2101,0001; 0.0000000001215 2101,0001; 1.1111111111 215(1 210)0,1111; 1.0000000001最大正數(shù)最大正數(shù)最小正數(shù)最小正數(shù)最大負(fù)數(shù)最大負(fù)數(shù)最小負(fù)數(shù)最小負(fù)數(shù)類型類型真值真值補(bǔ)碼補(bǔ)碼負(fù)數(shù)區(qū)負(fù)數(shù)區(qū)正數(shù)區(qū)正數(shù)區(qū)下溢下溢0上溢上溢上溢上溢最小負(fù)數(shù)最小負(fù)數(shù)最大正數(shù)最大正數(shù)最小正數(shù)最小正數(shù)最大負(fù)數(shù)最大負(fù)數(shù)2( 2m1)( 1 2n)2( 2m1)(1 2n)2( 2m1)2n2( 2m1)2n習(xí)題習(xí)題人才是培養(yǎng)出來的人才是培養(yǎng)出來的解:解:設(shè)設(shè)X= 26 = 11010B,采用科學(xué)計數(shù)法表示成采用科學(xué)計數(shù)法表示成 2

43、0101B,所以,所以, X原原 =1,000000000011010 X補(bǔ)補(bǔ) =按照規(guī)格化浮點(diǎn)數(shù)的編碼格式,按照規(guī)格化浮點(diǎn)數(shù)的編碼格式,X表示為表示為 X原原 =0, 0101; X補(bǔ)補(bǔ) =0, 0101;【2-30】設(shè)機(jī)器字長為設(shè)機(jī)器字長為16,請將,請將26分別表示成二進(jìn)制定點(diǎn)數(shù)和分別表示成二進(jìn)制定點(diǎn)數(shù)和規(guī)格化的浮點(diǎn)數(shù)。其中浮點(diǎn)數(shù)的階碼占規(guī)格化的浮點(diǎn)數(shù)。其中浮點(diǎn)數(shù)的階碼占5位位(含一位階符含一位階符),尾數(shù)占,尾數(shù)占11位位(含一位數(shù)符含一位數(shù)符)。習(xí)題習(xí)題人才是培養(yǎng)出來的人才是培養(yǎng)出來的習(xí)題習(xí)題【2-31】設(shè)機(jī)器請寫出設(shè)機(jī)器請寫出53/512對應(yīng)的尾數(shù),分別用原碼和補(bǔ)碼表示對應(yīng)的尾數(shù),

44、分別用原碼和補(bǔ)碼表示 的規(guī)格化浮點(diǎn)數(shù)的規(guī)格化浮點(diǎn)數(shù)(設(shè)浮點(diǎn)數(shù)格式同上例,階碼用移碼表示設(shè)浮點(diǎn)數(shù)格式同上例,階碼用移碼表示)。解解: 53/512 = 0.000110101B= (0.110101B) 211B 原碼表示尾數(shù)原碼表示尾數(shù): 1. 1101010000;補(bǔ)碼表示尾數(shù)補(bǔ)碼表示尾數(shù): 1. 0010110000;原碼表示階碼原碼表示階碼: 1, 0011;補(bǔ)碼表示階碼補(bǔ)碼表示階碼: 1, 1101;移碼表示階碼移碼表示階碼: 0, 1101。原碼尾數(shù)的規(guī)格化浮點(diǎn)數(shù)原碼尾數(shù)的規(guī)格化浮點(diǎn)數(shù): 0, 1101;1. 1101010000;補(bǔ)碼尾數(shù)的規(guī)格化浮點(diǎn)數(shù)補(bǔ)碼尾數(shù)的規(guī)格化浮點(diǎn)數(shù): 0,

45、 1101;1. 0010110000。人才是培養(yǎng)出來的人才是培養(yǎng)出來的威廉威廉卡亨卡亨浮點(diǎn)計算的先驅(qū);浮點(diǎn)運(yùn)算浮點(diǎn)計算的先驅(qū);浮點(diǎn)運(yùn)算IEE標(biāo)準(zhǔn)標(biāo)準(zhǔn)IEEE 754, IEEE 854的主要設(shè)計師。的主要設(shè)計師。為了便于軟件的移植和對軟件中浮點(diǎn)數(shù)運(yùn)算發(fā)生特殊情況時進(jìn)行處理,為了便于軟件的移植和對軟件中浮點(diǎn)數(shù)運(yùn)算發(fā)生特殊情況時進(jìn)行處理, 并鼓勵開發(fā)面向數(shù)值計算的優(yōu)秀程序,并鼓勵開發(fā)面向數(shù)值計算的優(yōu)秀程序,IEEE于于1985年推出了:年推出了: “浮點(diǎn)數(shù)表示及運(yùn)算標(biāo)準(zhǔn)浮點(diǎn)數(shù)表示及運(yùn)算標(biāo)準(zhǔn)”,即,即IEEE標(biāo)準(zhǔn)標(biāo)準(zhǔn) 754。 目前幾乎所有的微處理器都采用這一標(biāo)準(zhǔn)。目前幾乎所有的微處理器都采用這一

46、標(biāo)準(zhǔn)。 由于該標(biāo)準(zhǔn)的成功,它的設(shè)計者威廉由于該標(biāo)準(zhǔn)的成功,它的設(shè)計者威廉卡亨因此榮獲卡亨因此榮獲1989年年“圖靈獎圖靈獎”。人才是培養(yǎng)出來的人才是培養(yǎng)出來的IEEE 754 標(biāo)準(zhǔn)標(biāo)準(zhǔn)采用浮點(diǎn)數(shù)表示形式的計算機(jī)中,浮點(diǎn)數(shù)一般有規(guī)定的格式標(biāo)準(zhǔn)。采用浮點(diǎn)數(shù)表示形式的計算機(jī)中,浮點(diǎn)數(shù)一般有規(guī)定的格式標(biāo)準(zhǔn)。了解了解龍芯系列龍芯系列CPU采用此標(biāo)準(zhǔn)采用此標(biāo)準(zhǔn)常識常識S 階碼(含階符)階碼(含階符) 尾尾 數(shù)數(shù)數(shù)符數(shù)符小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)符號位:符號位:浮點(diǎn)數(shù)的正負(fù)浮點(diǎn)數(shù)的正負(fù) 階碼用階碼用移碼移碼表示表示 階碼的真值被固定階碼的真值被固定 加加上一個上一個常數(shù)常數(shù)尾數(shù)采用規(guī)格化形

47、式:尾數(shù)采用規(guī)格化形式:即即非非“0”的有效位最高位總是的有效位最高位總是“1”人才是培養(yǎng)出來的人才是培養(yǎng)出來的S 階碼(含階符)階碼(含階符) 尾尾 數(shù)數(shù)數(shù)符數(shù)符小數(shù)點(diǎn)位置小數(shù)點(diǎn)位置依依據(jù)據(jù)IEEE標(biāo)準(zhǔn),浮點(diǎn)數(shù)有三種類型,如下:標(biāo)準(zhǔn),浮點(diǎn)數(shù)有三種類型,如下:短實(shí)數(shù)短實(shí)數(shù)1 8 23 32長實(shí)數(shù)長實(shí)數(shù)1 11 52 64臨時實(shí)數(shù)臨時實(shí)數(shù)1 15 64 80符號位符號位 S 階碼階碼 尾數(shù)尾數(shù) 總位數(shù)總位數(shù)IEEE 754標(biāo)準(zhǔn)標(biāo)準(zhǔn)IEEE 754 標(biāo)準(zhǔn)標(biāo)準(zhǔn)了解了解人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 1 邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算邏輯運(yùn)算的特點(diǎn)是按位進(jìn)行,每一位運(yùn)算后得到一個獨(dú)立的結(jié)果,對其

48、他位的特點(diǎn)是按位進(jìn)行,每一位運(yùn)算后得到一個獨(dú)立的結(jié)果,對其他位 沒有影響。因此,邏輯運(yùn)算不存在進(jìn)位、借位、溢出等問題。沒有影響。因此,邏輯運(yùn)算不存在進(jìn)位、借位、溢出等問題。常見的常見的邏輯運(yùn)算邏輯運(yùn)算有:有: 邏輯非邏輯非(NOT)、 邏輯加邏輯加(OR)、 邏輯乘邏輯乘(AND)和和 邏輯異或邏輯異或(XOR).人才是培養(yǎng)出來的人才是培養(yǎng)出來的邏輯加,也稱邏輯加,也稱“按位求邏輯或按位求邏輯或”運(yùn)算,它的運(yùn)算符是運(yùn)算,它的運(yùn)算符是“OR”或或“”。其運(yùn)。其運(yùn)算規(guī)則是:算規(guī)則是: 11=1,10=1,01=1,00=0。 例如,例如,X=0101 0101B,Y = 1110 0010B。 X

49、 OR Y =1111 0111B。 實(shí)現(xiàn)實(shí)現(xiàn)“邏輯加邏輯加”的電路叫做的電路叫做“或門或門”,如下圖所示,如下圖所示2. 2. 1 邏輯運(yùn)算邏輯運(yùn)算1、邏輯非、邏輯非邏輯非邏輯非, 也叫也叫“按位取反按位取反”或或“按位求非按位求非” ,就是對數(shù)據(jù)的每一位取反,就是對數(shù)據(jù)的每一位取反, 將將1變成變成0,0變成變成1。 例如,例如,X=0101 0101B,NOT X = 1010 1010B 實(shí)現(xiàn)實(shí)現(xiàn)“邏輯非邏輯非”的電路叫做的電路叫做“非門非門”,如下圖所示。,如下圖所示。(a)非門)非門2、邏輯加、邏輯加(b)或門)或門人才是培養(yǎng)出來的人才是培養(yǎng)出來的邏輯乘邏輯乘,也稱,也稱“按位求邏

50、輯與按位求邏輯與”運(yùn)算,它的運(yùn)算符是運(yùn)算,它的運(yùn)算符是“AND”或或“ ”。 其運(yùn)算規(guī)則是:其運(yùn)算規(guī)則是:1 1=1,1 0=0,0 1=0,0 0=0。 例如,例如, X=0101 0101B,Y = 1110 0010B。 X AND Y =01000000B。 實(shí)現(xiàn)實(shí)現(xiàn)“邏輯乘邏輯乘”電路叫做電路叫做“與門與門” ,如下圖所示,如下圖所示3、邏輯乘、邏輯乘(c)與門)與門4、邏輯異或、邏輯異或“邏輯異或邏輯異或”的運(yùn)算符是的運(yùn)算符是“XOR”或者或者“ ”。其運(yùn)算規(guī)則是:當(dāng)兩。其運(yùn)算規(guī)則是:當(dāng)兩個操作數(shù)相異時,結(jié)果為個操作數(shù)相異時,結(jié)果為“真真(1)”,否則為,否則為“假假(0)”,即,

51、即1 1=0,1 0=1,0 1=1,0 0=0。這個運(yùn)算規(guī)則與忽略進(jìn)位的。這個運(yùn)算規(guī)則與忽略進(jìn)位的“二進(jìn)制加二進(jìn)制加法法”相同,所以相同,所以“邏輯異或邏輯異或”也稱也稱“按位加按位加” 。 例如,例如,X=0101 0101B,Y = 1110 0010B。 X XOR Y =10110111B。 實(shí)現(xiàn)實(shí)現(xiàn)“邏輯異或邏輯異或”的電路叫做的電路叫做“異或門異或門”, 如右圖所示如右圖所示.(d)異或門)異或門人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 2 移位運(yùn)算移位運(yùn)算1. 概述概述移位運(yùn)算,也稱移位操作,是指移位運(yùn)算,也稱移位操作,是指在小數(shù)點(diǎn)位置固定不變的情況下在小數(shù)點(diǎn)位置固定不變的情

52、況下, 將一個二進(jìn)制數(shù)左移或右移將一個二進(jìn)制數(shù)左移或右移n位。位。對于一個定點(diǎn)數(shù),將其左移對于一個定點(diǎn)數(shù),將其左移n位,相當(dāng)于該數(shù)乘以位,相當(dāng)于該數(shù)乘以2n; 將其右移將其右移n位,相當(dāng)于該數(shù)除以位,相當(dāng)于該數(shù)除以2n。思考思考計算機(jī)總是用定長的二進(jìn)制位來表示一個數(shù)據(jù)。計算機(jī)總是用定長的二進(jìn)制位來表示一個數(shù)據(jù)。 當(dāng)數(shù)據(jù)左移或右移當(dāng)數(shù)據(jù)左移或右移n位后,必然會使其低位后,必然會使其低n位或高位或高n位出現(xiàn)空位。位出現(xiàn)空位。 那么,對于空出來的數(shù)位應(yīng)該填補(bǔ)那么,對于空出來的數(shù)位應(yīng)該填補(bǔ)0還是填補(bǔ)還是填補(bǔ)1呢?呢?這與機(jī)器數(shù)被當(dāng)作有符號數(shù)還是無符號數(shù)有關(guān)。這與機(jī)器數(shù)被當(dāng)作有符號數(shù)還是無符號數(shù)有關(guān)。

53、有符號數(shù)的移位有符號數(shù)的移位稱為稱為算術(shù)移位算術(shù)移位, 無符號數(shù)的移位無符號數(shù)的移位稱為稱為邏輯移位邏輯移位。人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 2 移位運(yùn)算移位運(yùn)算2. 算術(shù)移位規(guī)則算術(shù)移位規(guī)則1右移右移 添添 1左移左移 添添 000反反 碼碼補(bǔ)補(bǔ) 碼碼原原 碼碼負(fù)數(shù)負(fù)數(shù)原碼、補(bǔ)碼、反碼原碼、補(bǔ)碼、反碼正數(shù)正數(shù)添補(bǔ)代碼添補(bǔ)代碼碼碼 制制總原則:符號位不變總原則:符號位不變?nèi)瞬攀桥囵B(yǎng)出來的人才是培養(yǎng)出來的機(jī)器數(shù)為機(jī)器數(shù)為正正【x】原原【x】反反【x】補(bǔ)補(bǔ) 真值真值 真值真值 真值真值移位后出現(xiàn)的空位填補(bǔ)移位后出現(xiàn)的空位填補(bǔ)“0”,符號位不變。,符號位不變。2. 2. 2 移位運(yùn)算移位

54、運(yùn)算2. 算術(shù)移位規(guī)則解釋算術(shù)移位規(guī)則解釋當(dāng)機(jī)器數(shù)為正時:當(dāng)機(jī)器數(shù)為正時:當(dāng)機(jī)器數(shù)為負(fù)時當(dāng)機(jī)器數(shù)為負(fù)時原碼:符號位除外,其數(shù)值位與真值原碼:符號位除外,其數(shù)值位與真值相同相同,移位后,移位后 出現(xiàn)的空位添出現(xiàn)的空位添“0”。反碼:符號位除外,其數(shù)值位與真值反碼:符號位除外,其數(shù)值位與真值相反相反,移位后,移位后 出現(xiàn)的空位添出現(xiàn)的空位添“1”。補(bǔ)碼:補(bǔ)碼:左移時添左移時添“0”。右移時添右移時添“1”。機(jī)器數(shù)為機(jī)器數(shù)為負(fù)負(fù)人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 2 移位運(yùn)算移位運(yùn)算習(xí)題習(xí)題【2-32】設(shè)機(jī)器數(shù)字長為設(shè)機(jī)器數(shù)字長為 8 位(含一位符號位),寫出位(含一位符號位),寫出A =

55、+18時,三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的時,三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。真值,并分析結(jié)果的正確性。解:解:則則 A原原 = A補(bǔ)補(bǔ) = A反反 = 0,0010010A = +18 = +10010B +40,0000100 +90,0001001+720,1101000 +360,0110100 +180,0010010移位前移位前A原原=A補(bǔ)補(bǔ)=A反反對應(yīng)的真值對應(yīng)的真值機(jī)機(jī) 器器 數(shù)數(shù)移位操作移位操作1212人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 2 移位運(yùn)算移位運(yùn)算習(xí)題習(xí)題【2-33】設(shè)機(jī)器數(shù)字長為設(shè)機(jī)器數(shù)字長為 8

56、位(含一位符號位),寫出位(含一位符號位),寫出A = 18時,三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的時,三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。真值,并分析結(jié)果的正確性。解:解:A = 18 = 10010B 41,0000100 91,0001001 721,1001000 361,0100100 181,0010010移位前移位前對應(yīng)的真值對應(yīng)的真值機(jī)機(jī) 器器 數(shù)數(shù)移位操作移位操作1212原碼原碼人才是培養(yǎng)出來的人才是培養(yǎng)出來的 41,1111011 91,1110110 721,0110111 361,1011011 181,1101101移

57、位前移位前對應(yīng)的真值對應(yīng)的真值機(jī)機(jī) 器器 數(shù)數(shù)移位操作移位操作1212 51,1111011 91,1110111 721,0111000 361,1011100 181,1101110移位前移位前對應(yīng)的真值對應(yīng)的真值機(jī)機(jī) 器器 數(shù)數(shù)移位操作移位操作1212補(bǔ)碼補(bǔ)碼反碼反碼人才是培養(yǎng)出來的人才是培養(yǎng)出來的設(shè)機(jī)器數(shù)字長為設(shè)機(jī)器數(shù)字長為 8 位(含一位符號位),寫出位(含一位符號位),寫出A = +26時,時,三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。真值,并分析結(jié)果的正確性。課后課后練習(xí)練習(xí) + 6正確正確 +13+

58、104 + 52 +26解:解:A = +26則則 A原原 = A補(bǔ)補(bǔ) = A反反 = 0,0011010= +11010 0,00001100,00011010,11010000,01101000,0011010移位前移位前A原原=A補(bǔ)補(bǔ)=A反反對應(yīng)的真值對應(yīng)的真值機(jī)機(jī) 器器 數(shù)數(shù)移位操作移位操作1212影響影響精度精度人才是培養(yǎng)出來的人才是培養(yǎng)出來的課后課后練習(xí)練習(xí)設(shè)設(shè)機(jī)器數(shù)字長為機(jī)器數(shù)字長為 8 位(含一位符號位),寫出位(含一位符號位),寫出A = 43時時的原碼、補(bǔ)碼、反碼及三種機(jī)器數(shù)左、右移一位和兩位后的的原碼、補(bǔ)碼、反碼及三種機(jī)器數(shù)左、右移一位和兩位后的表示形式及對應(yīng)的真值,并分

59、析結(jié)果的正確性。表示形式及對應(yīng)的真值,并分析結(jié)果的正確性。【A】原原【A】補(bǔ)補(bǔ)【A】反反A真值真值1010111,01010111,10101011,1010100解:解:移位操作移位操作機(jī)器數(shù)機(jī)器數(shù)對應(yīng)真值對應(yīng)真值左移左移1位位左移左移2位位右移右移1位位移位前移位前右移右移2位位1,0101011431,1010110861,0010101211,010110044101,0001010正確正確錯誤錯誤影響影響精度精度原碼原碼人才是培養(yǎng)出來的人才是培養(yǎng)出來的補(bǔ)碼補(bǔ)碼反碼反碼移位操作移位操作機(jī)器數(shù)機(jī)器數(shù)對應(yīng)真值對應(yīng)真值左移左移1位位左移左移2位位右移右移1位位移位前移位前右移右移2位位1,1

60、010101431,0101010861,1010100441,1101010221,111010111正確正確錯誤錯誤影響影響精度精度移位操作移位操作機(jī)器數(shù)機(jī)器數(shù)對應(yīng)真值對應(yīng)真值左移左移1位位左移左移2位位右移右移1位位移位前移位前右移右移2位位1,1010100431,0101001861,1010011441,1101010211,111010110正確正確錯誤錯誤影響影響精度精度人才是培養(yǎng)出來的人才是培養(yǎng)出來的2. 2. 2 移位運(yùn)算移位運(yùn)算3. 邏輯移位邏輯移位 邏輯移位處理的是邏輯移位處理的是無符號數(shù)無符號數(shù),所以它的基本規(guī)則是:,所以它的基本規(guī)則是: 無論左移還是右移,移出的空位

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論