《計(jì)算機(jī)組成原理》課后題答案_第1頁
《計(jì)算機(jī)組成原理》課后題答案_第2頁
《計(jì)算機(jī)組成原理》課后題答案_第3頁
《計(jì)算機(jī)組成原理》課后題答案_第4頁
《計(jì)算機(jī)組成原理》課后題答案_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

《計(jì)算機(jī)組成原理》課

后題答案-清華大學(xué)出

版-秦磊華-吳非,?

本文檔內(nèi)字體為阿里巴巴普惠體R,CTRL+A全選可調(diào)整字體屬性及字體大小

-CAL-FENGHAI.NetworkInformationTechnologyCompany.2020YEAR

第一章系統(tǒng)給概論習(xí)題一

1.1解釋下列名詞

摩爾定律:對(duì)集成電路上可容納的晶體管數(shù)目、性能和價(jià)格等發(fā)展趨勢(shì)的預(yù)測(cè),其主要

內(nèi)容是:成集電路上可容納的晶體管數(shù)量每18個(gè)月翻一番,性能將提高一倍,而其價(jià)格

將降低一半。

主存:計(jì)算機(jī)中存放正在運(yùn)行的程序和數(shù)據(jù)的存儲(chǔ)器,為計(jì)算機(jī)的主要工作存儲(chǔ)器,可隨

機(jī)存取。

控制器:計(jì)算機(jī)的指揮中心,它使計(jì)算機(jī)各部件自動(dòng)協(xié)調(diào)地工作。

時(shí)鐘周期:時(shí)鐘周期是時(shí)鐘頻率的倒數(shù),也稱為節(jié)拍周期或T周期,是處理操作最基本的

時(shí)間單位。

多核處理器:多核處理器是指在一枚處理器中集成兩個(gè)或多個(gè)完整的計(jì)算引擎(內(nèi)核)。

字長(zhǎng):運(yùn)算器一次運(yùn)算處理的二進(jìn)制位數(shù)。

存儲(chǔ)容量:存儲(chǔ)器中可存二進(jìn)制信息的總量。

CPI:指執(zhí)行每條指令所需要的平均時(shí)鐘周期數(shù)。

MIPS:用每秒鐘執(zhí)行完成的指令數(shù)量作為衡量計(jì)算機(jī)性能的一個(gè)指標(biāo),該指標(biāo)以每秒鐘完

成的百萬指令數(shù)作為單位。

CPU時(shí)間:計(jì)算某個(gè)任務(wù)時(shí)CPU實(shí)際消耗的時(shí)間,也即CPU真正花費(fèi)在某程序上的時(shí)間。

計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu):計(jì)算機(jī)系統(tǒng)的層次結(jié)構(gòu)由多級(jí)構(gòu)成,一般分成5級(jí),由低到高分

別是:微程序設(shè)計(jì)級(jí),機(jī)器語言級(jí),操作系統(tǒng)級(jí),匯編語言級(jí),高級(jí)語言級(jí)。

基準(zhǔn)測(cè)試程序:把應(yīng)用程序中使用頻度最高的那那些核心程序作為評(píng)價(jià)計(jì)算機(jī)性能的標(biāo)準(zhǔn)

程序。

軟/硬件功能的等價(jià)性:從邏輯功能的角度來看,硬件和軟件在完成某項(xiàng)功能上是相同的,

稱為軟/硬件功能是等價(jià)的,如浮點(diǎn)運(yùn)算既可以由軟件實(shí)現(xiàn),也可以由專門的硬件實(shí)

現(xiàn)。

固件:是一種軟件的固化,其目的是為了加快軟件的執(zhí)行速度。

可靠性:可靠性是指系統(tǒng)或產(chǎn)品在規(guī)定的條件和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的能力。產(chǎn)

品可靠性定義的要素是三個(gè)''規(guī)定":''規(guī)定條件"、''規(guī)定時(shí)間"和''規(guī)定功能”。

MTTF:平均無故障時(shí)間,指系統(tǒng)自使用以來到第一次出故障的時(shí)間間隔的期望值。

MTTR:系統(tǒng)的平均修復(fù)時(shí)間。

MTBF:平均故障間隔時(shí)間,指相鄰兩次故障之間的平均工作時(shí)間。

可用性:指系統(tǒng)在任意時(shí)刻可使用的概率,可根據(jù)MTTF.MTTR和MTBF等指標(biāo)計(jì)算處系統(tǒng)

的可用性。

1.2什么是計(jì)算機(jī)系統(tǒng)的硬件和軟件?為什么說計(jì)算機(jī)系統(tǒng)的硬件和軟件在邏輯功能上是

等價(jià)的?

答:計(jì)算機(jī)硬件系統(tǒng)是指構(gòu)成計(jì)算機(jī)系統(tǒng)的電子線路和電子元件等物理設(shè)備的總稱。硬件

是構(gòu)成計(jì)算機(jī)的物質(zhì)基礎(chǔ),是計(jì)算機(jī)系統(tǒng)的核心。計(jì)算機(jī)的硬件系統(tǒng)包含運(yùn)算器、控制

器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備等五大部件。

計(jì)算機(jī)軟件是計(jì)算機(jī)中全部程序的集合。軟件按其功能分成應(yīng)用軟件和系統(tǒng)軟件兩大

類。

計(jì)算機(jī)硬件實(shí)現(xiàn)的往往是最基本的算術(shù)運(yùn)算和邏輯運(yùn)算功能,而其它功能大多是通過

軟件的擴(kuò)充得以實(shí)現(xiàn)的。有許多功能可以由硬件實(shí)現(xiàn),也可以由軟件實(shí)現(xiàn),即從用戶的角

度來看它們?cè)诠δ苌鲜堑葍r(jià)的,這一等價(jià)性被稱為軟/硬件邏輯功能的等價(jià)性。

1.3馮?諾依曼型計(jì)算機(jī)的基本思想是什么?按此思想設(shè)計(jì)的計(jì)算機(jī)硬件系統(tǒng)應(yīng)由哪些部

件組成?各起什么作用?

答:馮諾依曼型計(jì)算機(jī)的基本思想是存儲(chǔ)程序和程序控制,其中的“存儲(chǔ)程序”是指將解

題的步驟編寫成程序,然后把存儲(chǔ)存放到計(jì)算機(jī)的內(nèi)存中,而“程序控制”是指控制器讀

出存放在存儲(chǔ)器中的程序并根據(jù)該程序控制全機(jī)協(xié)調(diào)工作以完成程序的功能。

根據(jù)馮諾依曼型計(jì)算機(jī)的基本思想,計(jì)算機(jī)的硬件應(yīng)該由運(yùn)算器、控制器、存儲(chǔ)器、

輸入/輸出設(shè)備和總線組成。

各部件的作用:

運(yùn)算器:對(duì)數(shù)據(jù)進(jìn)行運(yùn)算的部件。

存儲(chǔ)器:存放程序和數(shù)據(jù)。

控制器:根據(jù)指令的功能控制構(gòu)成計(jì)算機(jī)的各大功能部件協(xié)調(diào)工作,共同完

成指令的功能。

輸入設(shè)備:將外部信息輸送到主機(jī)內(nèi)部的設(shè)備。

輸出設(shè)備:能將計(jì)算機(jī)內(nèi)部的信息以不同并且相應(yīng)的形式反饋給人們的設(shè)備。

總線:連接兩個(gè)或多個(gè)設(shè)備(部件)的公共信息通路。

1.4什么是計(jì)算機(jī)字長(zhǎng)?它取決于什么?計(jì)算機(jī)字長(zhǎng)統(tǒng)一了哪些部件的長(zhǎng)度?

答:計(jì)算機(jī)的字長(zhǎng)一般指一次參與運(yùn)算數(shù)據(jù)的基本長(zhǎng)度,用二進(jìn)制數(shù)位的長(zhǎng)度來衡量。

它取決于運(yùn)算器一次運(yùn)算處理的二進(jìn)制位數(shù)。它是計(jì)算機(jī)的重要性能指標(biāo)。常用的計(jì)

算機(jī)字長(zhǎng)有8位、16位、32位及64位。

一般與計(jì)算機(jī)內(nèi)部寄存器、加法器、數(shù)據(jù)總線的位數(shù)以及存儲(chǔ)器字長(zhǎng)等長(zhǎng),因此,字

長(zhǎng)直接影響硬件的代價(jià)。

1.5計(jì)算機(jī)系統(tǒng)從功能上可劃分為哪些層次?各層次在計(jì)算機(jī)系統(tǒng)中起什么作用?

答:計(jì)算機(jī)系統(tǒng)分成五級(jí)層次結(jié)構(gòu),第1級(jí)為微程序設(shè)計(jì)級(jí)、第2級(jí)為機(jī)器語言級(jí)、第3

級(jí)為操作系統(tǒng)級(jí)、第4級(jí)為匯編語言級(jí)、第5級(jí)為高級(jí)語言級(jí)。

各層次的作用:

微程序級(jí):為機(jī)器指令級(jí)提供機(jī)器指令的解釋指行功能。

機(jī)器指令級(jí):是軟件系統(tǒng)和硬件系統(tǒng)的界面,一條機(jī)器指令的功能由微程序

機(jī)器級(jí)的一段微型程序的功能實(shí)現(xiàn)。

操作系統(tǒng)級(jí):調(diào)度計(jì)算機(jī)中的軟件和硬件資源。

匯編語言級(jí):它將用戶編寫的接近人類語言的程序,翻譯成能在機(jī)器上運(yùn)行的

目標(biāo)程序。

高級(jí)語言級(jí):完全面向用戶,是用戶關(guān)心的目標(biāo),可執(zhí)行各種用途的程序。

1.6計(jì)算機(jī)內(nèi)部有哪兩股信息在流動(dòng)?它們彼此有什么關(guān)系?

答:計(jì)算機(jī)中有兩股信息在流動(dòng):一股是控制信息,即操作命令,它分散流向各個(gè)部件;

一股是數(shù)據(jù)信息,它受控制信息的控制,從一個(gè)部件流向另一個(gè)部件,在流動(dòng)的過程被相

應(yīng)的部件加工處理。

1.7為什么說計(jì)算機(jī)系統(tǒng)的軟件與硬件可以互相轉(zhuǎn)化?

答:計(jì)算機(jī)硬件實(shí)現(xiàn)的往往是最基本的算術(shù)運(yùn)算和邏輯運(yùn)算功能,而其它功能大多是通過

軟件的擴(kuò)充得以實(shí)現(xiàn)的。有許多功能可以由硬件實(shí)現(xiàn),也可以由軟件實(shí)現(xiàn),即從用戶的角

度來看它們?cè)诠δ苌鲜堑葍r(jià)的,這一等價(jià)性被稱為軟/硬件邏輯功能的等價(jià)性。

由于這樣的等價(jià)性,所以可以說計(jì)算機(jī)系統(tǒng)的軟件與硬件是可以互相轉(zhuǎn)化的。

1.8什么叫軟件系統(tǒng)?它包含哪些內(nèi)容?

答:一臺(tái)計(jì)算機(jī)中全部程序的集合,統(tǒng)稱為這臺(tái)計(jì)算機(jī)的軟件系統(tǒng)。軟件按其功能分成應(yīng)

用軟件和系統(tǒng)軟件兩大類。

應(yīng)用軟件是用戶為解決某種應(yīng)用問題而編制的一些程序。

系統(tǒng)軟件用于對(duì)計(jì)算機(jī)系統(tǒng)的管理、調(diào)度、監(jiān)視和服務(wù)等功能,常將系統(tǒng)軟件分為以

下六類:操作系統(tǒng),言處理程序,標(biāo)準(zhǔn)程序庫(kù),服務(wù)性程序,數(shù)據(jù)庫(kù)管理系統(tǒng)和算機(jī)網(wǎng)絡(luò)軟

件。

1.9說明高級(jí)語言、匯編語言和機(jī)器語言三者之間的差別和聯(lián)系。

答:機(jī)器語言是直接用二進(jìn)制代碼指令表達(dá)的計(jì)算機(jī)語言,是一種面向機(jī)器的編程語言,

屬于低級(jí)語言。

匯編語言是用助記符號(hào)來表示計(jì)算機(jī)指令的語言,也是低級(jí)的語言。

高級(jí)語言是一類接近于人類自然語言和數(shù)學(xué)語言的程序設(shè)計(jì)語言的統(tǒng)稱,分為面向過

程的語言和面向?qū)ο蟮恼Z言。

它們都是計(jì)算機(jī)的編程語言,并且是計(jì)算機(jī)編程語言發(fā)展的三個(gè)階段。三

者各自的特點(diǎn):

使用機(jī)器語言編寫的程序,占用內(nèi)存少、執(zhí)行效率高。缺點(diǎn):編程工作量大,容易出

錯(cuò);依賴具體的計(jì)算機(jī)體系,因而程序的通用性、移植性都很差。

使用匯編語言編寫計(jì)算機(jī)程序,能夠根據(jù)特定的應(yīng)用對(duì)代碼做最佳的優(yōu)

化,提高運(yùn)行速度;能夠最大限度地發(fā)揮硬件的功能。但是編寫的代碼非常難

懂,不好維護(hù);開發(fā)效率很低,時(shí)間長(zhǎng)且單調(diào)。

高級(jí)語言的優(yōu)點(diǎn)是:編程相對(duì)簡(jiǎn)單、直觀、易理解、不容易出錯(cuò);編寫的計(jì)算機(jī)程序

通用性好,具有較好的移植性。

1.10什么是系統(tǒng)的可靠性?衡量系統(tǒng)可靠性的指標(biāo)有哪些?如何提高系統(tǒng)的可靠性?

答:系統(tǒng)的可靠性是指系統(tǒng)在規(guī)定的條件和規(guī)定的時(shí)間內(nèi),完成規(guī)定功能的能力。

衡量系統(tǒng)可靠性的指標(biāo)有三個(gè):平均無故障時(shí)間、平均故障間隔時(shí)間和可用性。

提高系統(tǒng)可靠性的常用方法包括避錯(cuò)和容錯(cuò)。前者即避免錯(cuò)誤的出現(xiàn),從而提高系統(tǒng)

的平均無故障時(shí)間;后者容許錯(cuò)誤的出現(xiàn),但采取有效的方法來防止其造成的不利影響。

1.11假定某計(jì)算機(jī)1和計(jì)算機(jī)2以不同的方式實(shí)現(xiàn)了相同的指令集,該指令集中共有A、

B、C、D四類指令,它們?cè)诔绦蛑兴急壤謩e為40%、20%、20%,20%,機(jī)器1和機(jī)器2

的時(shí)鐘周期為600MHZ和800MHZ,各類指令在兩機(jī)器上的CPI如表1.5所示,求兩機(jī)器的

MIPS各為多少?

表1.5兩臺(tái)計(jì)算機(jī)不同指令的CPI

ABCD

CPU2345

CPI22234

解:CPH=2*0.4+0.2*(3+4+5)=3.2MIPS1=f/(CPIlxlO6)=600x107(3.2xl06)=187.5

CPI2=2*0.4+0.2*(2+3+4)=2.6MIPS2=f/(CPIlxlO6)=800x107(2.6xl06)=307.7

1.12若某程序編譯后生成的目標(biāo)代碼由A、B、C、D四類指令組成,它們?cè)诔绦蛑兴急?/p>

例分別為40%、20%、15%、25%。已知A、B、C、D四類指令的CPI分別為1、2、2、2?,F(xiàn)

需要對(duì)程序進(jìn)行編譯優(yōu)化,優(yōu)化后的程序中A類指令條數(shù)減少了一半,而其它指令數(shù)量未

發(fā)生變化。假設(shè)運(yùn)行該程序的計(jì)算機(jī)CPU主頻為500MHZ。完成下列各題:

1)優(yōu)化前后程序的CPI各為多少?

2)優(yōu)化前后程序的MIPS各為多少?

3)通過上面的計(jì)算結(jié)果你能得出什么結(jié)論?

"IQ

解:1)優(yōu)化前:CPI=Z(CP/jx-^)=lx0.4+2x0.2+2x0.15+2x0,25

I=Iic

=1.6

優(yōu)化后:A、B、C、D四類指令在程序中所占比例分別為1/4、1/4、3/16、5/16,

CPI二X—IC4=lx1/4+2x1/4+2x3/16+2x5/16

i=iic

=1.75

時(shí)鐘頻率

2)根據(jù)公式MIPS=cpix106得

優(yōu)化前:MIPS=(500X106)/(1.6X106)=312.5

優(yōu)化后:MIPS=(500X106)/(1.75X106)=285.7

3)優(yōu)化后,A類指令條數(shù)減少,造成計(jì)算機(jī)的CPI增加,MIPS減少。這樣的優(yōu)化雖然減少

了A類指令條數(shù),卻降低了程序的執(zhí)行速度。

第二章數(shù)據(jù)表示方法習(xí)題二

2.1解釋下列名詞

真值:正號(hào)和負(fù)號(hào)分別用“+”和表示,數(shù)據(jù)位保持二進(jìn)制值不變的數(shù)據(jù)

表示方法。

數(shù)值數(shù)據(jù):計(jì)算機(jī)所支持的一種數(shù)據(jù)類型,用于科學(xué)計(jì)算,常見的數(shù)值數(shù)據(jù)類

型包括小數(shù)、整數(shù)、浮點(diǎn)數(shù)數(shù)等。

非數(shù)值數(shù)據(jù):計(jì)算機(jī)所支持的一種數(shù)據(jù)類型,一般用來表示符號(hào)或文字等沒有

數(shù)值值的數(shù)據(jù)。

機(jī)器數(shù):數(shù)據(jù)在機(jī)器中的表示形式,是正負(fù)符號(hào)數(shù)碼化后的二進(jìn)制數(shù)據(jù)。

變形補(bǔ)碼:用兩個(gè)二進(jìn)制位來表示數(shù)字的符號(hào)位,其余與補(bǔ)碼相同。即“00”

表示正,“11”表示負(fù)。

規(guī)格化:將非規(guī)格化的數(shù)處理成規(guī)格化數(shù)的過程。規(guī)格化數(shù)規(guī)定尾數(shù)用純小數(shù)

表示,且真值表示時(shí)小數(shù)點(diǎn)后第一位不為0(以機(jī)器數(shù)表示時(shí)對(duì)小數(shù)點(diǎn)后第一

位的規(guī)定與具體的機(jī)器數(shù)的形式有關(guān))。

機(jī)器零:計(jì)算機(jī)保存數(shù)字的位有限,所能表示最小的數(shù)也有范圍,其中有一

個(gè)范圍之中的數(shù)據(jù)無法精確表示,當(dāng)實(shí)際的數(shù)據(jù)處在這個(gè)無法精確表示的數(shù)

據(jù)范圍時(shí)計(jì)算機(jī)就將該數(shù)作為機(jī)器零來處理,因此,計(jì)算機(jī)中的機(jī)器零其實(shí)

對(duì)應(yīng)的不是一個(gè)固定的數(shù),而是一個(gè)數(shù)據(jù)表示范圍。

BCD碼:用4位二進(jìn)制數(shù)來表示1位十進(jìn)制數(shù)中的0~9這10個(gè)數(shù)碼,即二進(jìn)

制表示的十進(jìn)制數(shù)。

漢字內(nèi)碼:計(jì)算機(jī)內(nèi)部存儲(chǔ)、處理加工和傳輸漢字時(shí)所用的由0和1符號(hào)組成

的代碼。

碼距:一組編碼中對(duì)應(yīng)位上數(shù)字位不同的最小個(gè)數(shù)。

奇偶校驗(yàn):通過檢測(cè)校驗(yàn)碼中1的個(gè)數(shù)的奇/偶性是否改變來判斷數(shù)據(jù)是否出錯(cuò)

的一種數(shù)據(jù)校驗(yàn)方法。

海明校驗(yàn):是一種基于多重奇校驗(yàn)且具有檢測(cè)與糾正錯(cuò)誤的校驗(yàn)方法。其基本

原理是將有效信息按某種規(guī)律分成若干組,每組安排一個(gè)校驗(yàn)位進(jìn)行奇偶測(cè)

試,就能提供多位檢錯(cuò)信息,以指出最大可能是哪位出錯(cuò),從而將其糾正。

循環(huán)冗余校驗(yàn):是數(shù)據(jù)通信領(lǐng)域中最常用的一種具有檢測(cè)與糾正錯(cuò)誤能力差錯(cuò)

校驗(yàn)碼,基利用生成多項(xiàng)式并基于模2運(yùn)算建立編碼規(guī)則。

檢錯(cuò):檢測(cè)被傳送的信息中是否發(fā)生差錯(cuò)。

糾錯(cuò):糾正信息在傳送或存儲(chǔ)過程中所發(fā)生的錯(cuò)誤。

2.2回答下列問題

1)為什么計(jì)算機(jī)中采用二進(jìn)制?

答:因?yàn)槎M(jìn)制具有運(yùn)算簡(jiǎn)單和表示簡(jiǎn)單的優(yōu)點(diǎn),除此之外還有可靠和容易實(shí)

現(xiàn)等特點(diǎn)。

具體來說,是因?yàn)椋?/p>

(1)技術(shù)實(shí)現(xiàn)簡(jiǎn)單,計(jì)算機(jī)是由邏輯電路組成,邏輯電話通常只有兩個(gè)狀

態(tài),開關(guān)

的接通與斷開,這兩種狀態(tài)正好可以用“1”和“0”表示。

(2)簡(jiǎn)化運(yùn)算規(guī)則:兩個(gè)二進(jìn)制數(shù)和、積運(yùn)算組合各有三種,運(yùn)算規(guī)則簡(jiǎn)

單,有利

于簡(jiǎn)化計(jì)算機(jī)內(nèi)部結(jié)構(gòu),提高運(yùn)算速度。

(3)適合邏輯運(yùn)算:邏輯代數(shù)是邏輯運(yùn)算的理論依據(jù),二進(jìn)制只有兩個(gè)數(shù)

碼,正好

與邏輯代數(shù)中的“真”和“假”相吻合。

(4)易于進(jìn)行轉(zhuǎn)換,二進(jìn)制與十進(jìn)制數(shù)易于互相轉(zhuǎn)換。

2)為什么計(jì)算機(jī)中采用補(bǔ)碼表示帶符號(hào)的整數(shù)?

答:采用補(bǔ)碼運(yùn)算具有如下兩個(gè)特征:

(1)因?yàn)槭褂醚a(bǔ)碼可以將符號(hào)位和其他位統(tǒng)一處理,同時(shí),減法也可以按加法

來處理,即如果是補(bǔ)碼表示的數(shù),不管是加減法都直接用加法運(yùn)算即可實(shí)現(xiàn)。

(2)兩個(gè)用補(bǔ)碼表示的數(shù)相加時(shí),如果最高位(符號(hào)位)有進(jìn)位,則進(jìn)位被舍

棄0

這樣的運(yùn)算有兩個(gè)好處:

(a)使符號(hào)位能與有效值部分一起參加運(yùn)算,從而簡(jiǎn)化運(yùn)算規(guī)則。從而可以簡(jiǎn)

化運(yùn)算器的結(jié)構(gòu),提高運(yùn)算速度;(減法運(yùn)算可以用加法運(yùn)算表示出來。)

(b)加法運(yùn)算比減法運(yùn)算更易于實(shí)現(xiàn)。使減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,進(jìn)一步簡(jiǎn)

化計(jì)算機(jī)中運(yùn)算器的線路設(shè)計(jì)。

3)浮點(diǎn)數(shù)的表示范圍和精確度分別由什么決定?字長(zhǎng)一定時(shí)浮點(diǎn)數(shù)的表示范圍與

精確度之間有和關(guān)系?

答:浮點(diǎn)數(shù)的表示范圍由階碼的位數(shù)決定,精確度由尾數(shù)的位數(shù)決定。

當(dāng)機(jī)器字長(zhǎng)一定時(shí),分給階碼的位數(shù)越多,尾數(shù)占用的位數(shù)就越少,則數(shù)

的表示范圍越大。而尾數(shù)占用的位數(shù)減少,必然會(huì)減少數(shù)的有效數(shù)位,即影響

數(shù)的精度。

4)漢字輸入碼、機(jī)內(nèi)碼和字型碼在漢字處理過程中各有何作用?

答:漢字輸入碼、機(jī)內(nèi)碼和字型碼,分別用于漢字的輸入、漢字在計(jì)算機(jī)內(nèi)的處理以及漢

字的顯示和打印。

具體來說,計(jì)算機(jī)要對(duì)漢字信息進(jìn)行處理,首先要將漢字轉(zhuǎn)換成計(jì)算機(jī)可

以識(shí)別的二進(jìn)制形式并輸入到計(jì)算機(jī),這是由漢字輸入碼完成的;漢字輸入到

計(jì)算機(jī)后,還需要轉(zhuǎn)換成內(nèi)碼才能被計(jì)算機(jī)處理,顯然,漢字內(nèi)碼也應(yīng)該是二

進(jìn)制形式。如果需要顯示和打印漢字,還要將漢字的內(nèi)碼轉(zhuǎn)換成字形碼。

5)在機(jī)內(nèi)碼中如何區(qū)分兩個(gè)ASCII碼字符和一個(gè)漢字?

答:將一個(gè)漢字看成是兩個(gè)擴(kuò)展ASCH碼,使表示GB2312漢字的兩個(gè)字節(jié)的

最高位都為1,而每個(gè)ASCII碼字符中每個(gè)字節(jié)的最高位為0。這樣就能區(qū)別一

個(gè)機(jī)內(nèi)碼到底對(duì)應(yīng)一個(gè)漢字還是兩個(gè)西文字符。

6)“8421碼就是二進(jìn)制數(shù)”。這種說法對(duì)嗎?為什么?

答:這種說法是不對(duì)的。8421碼是一種最簡(jiǎn)單的有權(quán)碼,它選取4位二進(jìn)制數(shù)的前10個(gè)

代碼0000~1001分別對(duì)應(yīng)表示十進(jìn)制數(shù)的10個(gè)數(shù)碼。若按權(quán)求和,和數(shù)就等于該代碼所

對(duì)應(yīng)的十進(jìn)制數(shù)。

8421碼是一種編碼方式,用于十進(jìn)位制與二進(jìn)制數(shù)之間的轉(zhuǎn)換。

而二進(jìn)制數(shù)是用0和1兩個(gè)數(shù)碼來表示的數(shù)。二者是不同的概念,不能等同。

7)如何識(shí)別浮點(diǎn)數(shù)的正負(fù)?浮點(diǎn)數(shù)能表示的數(shù)值范圍和數(shù)值的精確度取決于什么?

答:當(dāng)采用一般浮點(diǎn)數(shù)格式表示浮點(diǎn)數(shù)時(shí),階碼和尾數(shù)都各包含一位符號(hào)位。浮點(diǎn)數(shù)的正負(fù)

由尾數(shù)的的符號(hào)位決定。當(dāng)采用IEEE754格式時(shí),通過數(shù)符就能判斷出浮點(diǎn)數(shù)的正負(fù)。

浮點(diǎn)數(shù)能表示的數(shù)值范圍和數(shù)值的精確度,分別取決于階碼的位數(shù)和尾數(shù)的位數(shù)。

8)簡(jiǎn)述CRC的糾錯(cuò)原理。

答:發(fā)送部件將某信息的CRC碼傳送至接收部件,接收部件收到CRC碼后,仍用約定的生

成多項(xiàng)式G(x)去除,若余數(shù)為0,表示傳送正確;若余數(shù)不為0,表示出錯(cuò),再由余數(shù)的

值來確定哪一位出錯(cuò),從而加以糾正。具體的糾錯(cuò)原理如下:

(1)不論錯(cuò)誤出現(xiàn)在哪一位,均要通過將出錯(cuò)位循環(huán)左移到最左邊的一位上時(shí)被糾

正;

(2)不為零余數(shù)的具有循環(huán)特性。即在余數(shù)后面補(bǔ)一個(gè)零除以生成多項(xiàng)目式,將得到

下一個(gè)余數(shù),繼續(xù)在新余數(shù)基礎(chǔ)上補(bǔ)零除以生成多項(xiàng)式,繼續(xù)該操作,余數(shù)最后能循環(huán)到最

開始的余數(shù)。

(3)CRC就是利用不為零余數(shù)的循環(huán)特性,在循環(huán)計(jì)算余數(shù)的同時(shí),將收到的CRC編

碼同步移動(dòng),當(dāng)余數(shù)循環(huán)到等于最左邊位出錯(cuò)對(duì)應(yīng)的余數(shù)時(shí),表明已將出錯(cuò)的位移到CRC

碼的最左邊,對(duì)出錯(cuò)位進(jìn)行糾錯(cuò)。

(4)繼續(xù)進(jìn)行余數(shù)的循環(huán)計(jì)算,并同步移動(dòng)CRC編碼,當(dāng)余數(shù)又回到最開始的值時(shí),糾

錯(cuò)后的CRC碼又回到了最開始的位置。至此,完成CRC的糾錯(cuò)任務(wù)。

2.3寫出下列各數(shù)的原碼、反碼和補(bǔ)碼。

0,—0,0.10101,—0.10101,0.11111,—0.11111,-0.10000,

0.10000

解:

x=O,則[+0]原=0.00…0,[+0]反=0.00…0,[+0]=0.00-0;

X=-O,則[-0]源=1.00-0,[-0]反=1.11-1,[-0]^=0.00-0;

x=0.10101,則[x]原=0.10101,[x]反=0.10101,[x]樸=0.10101;

X=-0.10101,貝[x]原=1.10101,[x]s=1.01010,[x]tt=1.01011;

x=0.11111,則[x]域=0.11111,[xk=0.00000,[x]補(bǔ)=0.10001;

X=-0.11111,則[x]原=1.11111,[x]反=1.00000,[xLh=1.00001;

x=—0.10000,則[x]jg=1.10000,[x]反=1.01111,[x]w=1.10000;

x=0.10000,則[x]V=0.10000,[x]g=0.10000,[x]tt=0.10000?

2.4已知數(shù)的補(bǔ)碼表示形式,求數(shù)的真值。

[x]ib=0.10010,[x]?=l.10010,[x]#=l.11111,

[x]樸=1.00000,[x]?=0.10001,[x]補(bǔ)=1.00001,

解:

[x]?=0.10010,則[x]虞=0.10010,x=0.10010;

[x]tt=l.10010,則[x]ja=l.01101,x=-0.01101;

[x]?=l.11111,則反h=l.00000,X=-O;

[x]補(bǔ)=1.00000,則僅標(biāo)=1.11111,X=-O.lllll;

[x]樸=0.10001,則[x6=0.10001,x=0.10001;

[x]補(bǔ)=1.00001,則[x]睬=1.11110,x=-0.11110o

2.5已知x=0.10110,y=—0.01010,求:

[x/2]*,[x/4"卜,[y/2])t,[2y])t

解:[x]原=0.10110=。]反=0]補(bǔ),

所以[x/2]補(bǔ)=0.,[x/4]*=0.;

[y]僚=1.01010,[y]s=l.10101,[y]?=l.10110,

所以[y/2]產(chǎn)1.,[2y]補(bǔ)=1.0110。

2.6C語言中允許無符號(hào)數(shù)和有符號(hào)整數(shù)之間的轉(zhuǎn)換,下面是一段C語言代碼:

Intx=-1;

Unsignedu=;

Printf("x=%u=%d\n”,x,x);

Printf("u=%u=%d\n”,u,u);

給出在32位計(jì)算機(jī)中上述程序段的輸出結(jié)果并分析原因.

解:x==-l;u==-

原因:x是int型,在計(jì)算機(jī)中以補(bǔ)碼形式存在。%口以無符號(hào)輸出,%d輸出

真值,所以X==-lO

u=23i是一個(gè)無符號(hào)數(shù),無溢出,由于首位為1

%口符號(hào)輸出第一位為非符號(hào)位,所以是

%d第一位為符號(hào)位,所以是負(fù)數(shù),取反加1還是231所以是

2.7分析下列幾種情況下所能表示的數(shù)據(jù)范圍分別是多少

1)16位無符號(hào)數(shù);

2)16位原碼定點(diǎn)小數(shù);

3)16位補(bǔ)碼定點(diǎn)小數(shù);

4)16位補(bǔ)碼定點(diǎn)整數(shù);

解:

1)16位無符號(hào)數(shù):0-1111111111111111,即0~201=65535

2)16位原碼定點(diǎn)小數(shù):1.111111111111111-0.111111111111111,即-(1-2-

”)~12仃

3)16位補(bǔ)碼定點(diǎn)小數(shù):1.000000000000000-0.111111111111111,即-1~1-

"5

4)16位補(bǔ)碼定點(diǎn)整數(shù):1000000000000000-0111111111111111,即-2卜~

2|5-1

2.8用補(bǔ)碼表示8位二進(jìn)制整數(shù),最高位用一位表示符號(hào)(即形如

X0X1X2X3X4X5X6X7)時(shí),模應(yīng)為多少?

解:因?yàn)?位二進(jìn)制數(shù)補(bǔ)碼的表示范圍為:-128~127一共有256個(gè)數(shù),所以模為256。

2.9用IEEE75432位浮點(diǎn)數(shù)標(biāo)準(zhǔn)表示十進(jìn)制數(shù)

a).6°b)3.064000

8

解:

a)首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):

-6-=-l10.101

8

移動(dòng)小數(shù)點(diǎn),使其變成1.M的形式:

-110.101=-!.10101*22

于是得到:

S=0,e=2,E=10+=,M=10101

最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:

11000000110101000000000000000000=(C0D40000)16

b)首先分別將整數(shù)和分?jǐn)?shù)部分轉(zhuǎn)換成二進(jìn)制數(shù):

3=11.1

移動(dòng)小數(shù)點(diǎn),使其變成LM的形式

11.1=1.01X2

于是得到:

S=0,e=l,E=l+=,M=0

最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:

01000000010010010000111111011010=(40490FDA)16

c)首先將6400轉(zhuǎn)換成二進(jìn)制數(shù):

64000=00

移動(dòng)小數(shù)點(diǎn),使其變成LM的形式

00=1.0X212

于是得到:

S=0,e=12,E=1100+=,M=1001

最后得到32位浮點(diǎn)數(shù)的二進(jìn)制存儲(chǔ)格式為:

01000101110010000000000000000000=(45C80000)16

2.10求與IEEE75432位浮點(diǎn)數(shù)H對(duì)應(yīng)的十進(jìn)制數(shù)。

解:

H=(01000011100101000000000000000000)2

S=0,E=()2-127=8,M=1.00101

所以表示數(shù)為,對(duì)應(yīng)的十進(jìn)制數(shù)為296。

2.11求32位IEEE754浮點(diǎn)數(shù)能表示的最大數(shù)和最小數(shù)。

解:用IEEE754格式(E的取值范圍:1~254,留出全0和全1分別表示0和無

窮大)

313023220

EM

(1)最大數(shù)的二進(jìn)制表示:

01即2⑵(2-2a)

(2)最小數(shù)的二進(jìn)制表示:

11即-2⑵(2-2必)

mn

2.12設(shè)有兩個(gè)正浮點(diǎn)數(shù):Ni=2XMi,N2=2XM2o

(1)若m>n,是否有NI>N2?

(2)若Mi和M2是規(guī)格化的數(shù),上述結(jié)論是否正確?

解:(1)不一定。

32

例如,NI=2X0.001,N2=2X0.01,此時(shí)m>n,卻有NI=N2。

32

再如,NI=2X0.001,N2=2X0.1,此時(shí)m>n,卻有N1VN2。

(2)正確。

因?yàn)楦↑c(diǎn)數(shù)規(guī)格化,要求尾數(shù)的最高位為非0數(shù)碼,即當(dāng)尾數(shù)的值不為零

時(shí),其絕對(duì)值應(yīng)大于或等于(l/2)io。

那么Mi和M2都必須是0.1XX…X的形式。這時(shí),若m>n,則一定有

NI>N2O

2.13設(shè)二進(jìn)制浮點(diǎn)數(shù)的階碼為3位,尾數(shù)是7位。用模2補(bǔ)碼寫出它們所能表

示的最大正數(shù)、最小正數(shù)、最大負(fù)數(shù)和最小負(fù)數(shù),并將它們轉(zhuǎn)換成十進(jìn)制數(shù)。

解:補(bǔ)碼真值

最大正數(shù):011;0.,23X(1-2")

最小正數(shù):101;0.,23X2-6

最大負(fù)數(shù):101;1.,-23X2^

最小負(fù)數(shù):oil;1.,-23X(1-2與

2.14將下列十進(jìn)制數(shù)表示成浮點(diǎn)規(guī)格化數(shù),階碼4位,尾數(shù)10位,各含1位符號(hào),階碼

和尾數(shù)均用補(bǔ)碼表示。

(1)57/128(2)—69/128

解:(1)57/128=(0.)2>記x=0.,則[xh=[xh=[x]補(bǔ)=0.,

規(guī)格化:區(qū)補(bǔ)=0.*2"

階碼的原碼為:1001,因此補(bǔ)碼為:1111

尾數(shù)為:

表示成浮點(diǎn)規(guī)格化數(shù):1111

(2)-69/128=(0)2,記x=-0.,則因原=1.,[x]反=1.,[x]補(bǔ)=1.,

無需規(guī)格化,階碼為0000,尾數(shù)為

表示成浮點(diǎn)規(guī)格化數(shù):0000

2.15設(shè)有效信息為,分別寫出奇校驗(yàn)碼和偶校驗(yàn)碼。如果接收方收到的有效信息為,說明

如何發(fā)現(xiàn)錯(cuò)誤。

解:奇偶校驗(yàn)位分別為:0和1,

奇校驗(yàn)碼:

偶校驗(yàn)碼:

如果采用奇校驗(yàn),則發(fā)送方發(fā)出的奇校驗(yàn)碼x=(前8位是有效信息位,最后一位是校驗(yàn)

位),

如果接收方收到的x=(只有1位出錯(cuò),最后一個(gè)0是校驗(yàn)位),

接收方按奇校驗(yàn)方式根據(jù)計(jì)算得到的驗(yàn)位C,=1,與從信息中讀到得校驗(yàn)碼的取值不同,

表明傳送的信息發(fā)生了錯(cuò)誤。

如果采用偶校驗(yàn),利用相似的方法可以發(fā)現(xiàn)錯(cuò)誤。

2.16由6個(gè)字符的7位ASCII編碼排列,再加上水平和垂直偶校驗(yàn)位構(gòu)成如表2.23的

行列結(jié)構(gòu)(最后一列為水平奇偶校驗(yàn)位,最后一行為垂直奇偶校驗(yàn)位)

表2.23ASCII碼交叉校驗(yàn)

字符7位ASCII碼HP

30X,00110

Y,1001001

X,1010110

Y201X51111

D100100

011Xl(,11

VP00111x?1

貝IJXiX2X3X」處的比特分另ij為XsX6X-Xs處的比特分別為1000;XgXl0XnX,2

處的比特分別為1011;Yi和七處的字符分別為和7

解答思路:利用交叉奇/偶校驗(yàn)原理來確定各個(gè)X值,再查詢ASCII碼表獲知

Yi和丫2是什么字符。

2.17設(shè)8位有效信息為01101110,試寫出它的海明校驗(yàn)碼。給出過程,說明分組檢測(cè)方

式,并給出指誤字及其邏輯表達(dá)式。如果接收方收到的有效信息變成,說明如何定位錯(cuò)誤

并糾正錯(cuò)誤。

解:被檢驗(yàn)位有8位,設(shè)檢驗(yàn)位有r位

因?yàn)椋?+r<=2r-l

r=4;

設(shè)四位分別為Pi,P2,P3,P4

海明碼為:P1P20P3110P41110

Pl:3,5,7,9,11

P2:3,6,7,10,11

P3:5,6,7,12

P4:9,10,11,12

所以Pl=l,P2=lP3=0P4=l

海明碼為:0

指錯(cuò)位G1:1,3,5,7,9,11

G2:2,3,6,7,10,11

G3:4,5,6,7,12

G4:8,9,10,11,12

Gl=0,G2=0,G3=0,G4=0

圖略。

2.18設(shè)要采用CRC編碼傳送的數(shù)據(jù)信息x=1001,當(dāng)生成多項(xiàng)式為G(x)=1101時(shí),請(qǐng)寫

出它的循環(huán)校驗(yàn)碼。若接收方收到的數(shù)據(jù)信息x'=1101,說明如何定位錯(cuò)誤并糾正錯(cuò)誤。

解:作模二除法:"OX'=1001000=1111+-^-

G(x)11011101

所以循環(huán)碼為:。

1101011=1000+”,所以是第2位出錯(cuò),將

若接收到的數(shù)據(jù)信息x=1101,

G(x)1101

第2位的1改為0即可。

第三章運(yùn)算方法和運(yùn)算器習(xí)題三

3.1解釋下列名詞

變形形補(bǔ)碼:即用兩個(gè)二進(jìn)制位來表示數(shù)據(jù)的符號(hào)位,其余與補(bǔ)碼相同。

溢出:運(yùn)算結(jié)果超出數(shù)據(jù)類型所能表示數(shù)據(jù)范圍的現(xiàn)象稱為溢出。

陣列乘法:采用類似手工乘法運(yùn)算的方法,用大量與門產(chǎn)生手工乘法中的各乘

積項(xiàng),同時(shí)將大量一位全加器按照手工乘法算式中需要進(jìn)行加運(yùn)算的各相關(guān)項(xiàng)

的排列方式組成加法器陣列。

恢復(fù)余數(shù)除法:比較被除數(shù)(余數(shù))與除數(shù)的大小是用減法實(shí)現(xiàn)的。對(duì)原碼除

法而言,由于操作數(shù)以絕對(duì)值的形式參與運(yùn)算,因此,相減結(jié)果為正(余數(shù)的

符號(hào)位為0)說明夠減,商上1;相減結(jié)果為負(fù)(余數(shù)的符號(hào)位為1)說明不夠

減,商上0。

由于除法通過減法實(shí)現(xiàn),當(dāng)商上1時(shí),可將比較數(shù)據(jù)大小時(shí)的減法操作與

除法操作中的減法操作合并,即商上I后繼續(xù)后面的除法操作。商上0時(shí)表明

不夠減,但因比較操作時(shí)已經(jīng)實(shí)施了一次減法,因此,需要對(duì)執(zhí)行比較操作后

的結(jié)果加上除數(shù),既將余數(shù)還原成比較操作前的數(shù)值,這種方法就稱為恢復(fù)余

數(shù)法。

不恢復(fù)余數(shù)除法:又稱加減交替法,是對(duì)恢復(fù)余數(shù)法的改進(jìn)。不恢復(fù)余數(shù)法的

特點(diǎn)是不夠減時(shí)不再恢復(fù)余數(shù),而根據(jù)余數(shù)的符號(hào)作相應(yīng)處理就可繼續(xù)往下運(yùn)

算,因此運(yùn)算步數(shù)固定,控制簡(jiǎn)單,提高了運(yùn)算速度。

陣列除法:類似于陣列乘法器的思想,為了加快除法的執(zhí)行速度,也可以采用

陣列除法器來實(shí)現(xiàn)除法。為簡(jiǎn)化運(yùn)算及陣列除法器的結(jié)構(gòu),對(duì)參加運(yùn)算的數(shù)據(jù)

進(jìn)行適當(dāng)?shù)奶幚恚蛊湟哉龜?shù)的形式參加運(yùn)算。

行波進(jìn)位:多位進(jìn)位之間存在高位進(jìn)位的產(chǎn)生依賴低位進(jìn)位的一種進(jìn)位方式。

并行進(jìn)位:高、低進(jìn)位之間不存在具有依存關(guān)系,而是同時(shí)計(jì)算的進(jìn)位方式。

算術(shù)移位:分為算術(shù)左移和算術(shù)右移。其中算數(shù)左移n位相當(dāng)于乘上2n,執(zhí)行方

法是把原來的數(shù)中每一位都向左移動(dòng)n個(gè)位置,左面移出的高位丟棄不要,右

面低位空出的位置上全部補(bǔ)0,當(dāng)符號(hào)位發(fā)生改變時(shí)表明發(fā)生了溢出。算術(shù)右

移時(shí),符號(hào)位保持不變,其余各位依次右移,最右邊一位移出,將符號(hào)位拷貝

到左邊空出的位,一次移位相當(dāng)于除2。

邏輯移位:邏輯左移n位的執(zhí)行方法,是把原來的數(shù)中每一位都向左移動(dòng)n個(gè)

位置,左面移出的高位丟棄不要,右面低位空出的位置上全部補(bǔ)"0"。邏輯右移

n位的執(zhí)行方法是把原來數(shù)中的每一位都向右移動(dòng)n個(gè)位置,右面移出的低位

丟棄不要,左面高位空出的位置上全部補(bǔ)0。

對(duì)階:使階碼相等的過程,對(duì)階的時(shí)一般采取小的階碼向大階碼看齊的方式。

規(guī)格化:就是使浮點(diǎn)數(shù)的運(yùn)算結(jié)果中,將尾數(shù)從非規(guī)格化數(shù)變成規(guī)格化數(shù)的過

程。根據(jù)尾數(shù)形式的不同,規(guī)格化可分為左移規(guī)格化和右移規(guī)格化。

3.2回答下列問題:

1)為什么采用并行進(jìn)位能提高加法器的運(yùn)算速度?

?。河捎诓⑿羞M(jìn)位電路能很快產(chǎn)生各位的進(jìn)位信號(hào),使得加法器的速度大大提

rWio

2)如何判斷浮點(diǎn)數(shù)運(yùn)算結(jié)果是否發(fā)生溢出?

答:由于溢出與數(shù)據(jù)的表示范圍有關(guān),而浮點(diǎn)數(shù)的階碼影響到其數(shù)據(jù)表示的范

圍,因此,浮點(diǎn)數(shù)的溢出是通過接碼的是否溢出為判斷標(biāo)志。對(duì)于采用雙符號(hào)

位的階碼而言,當(dāng)雙符號(hào)位不同時(shí)表示浮點(diǎn)數(shù)發(fā)生溢出,否則則未發(fā)生溢出。

3)如何判斷浮點(diǎn)數(shù)運(yùn)算結(jié)果是否為規(guī)格化數(shù)?如果不是規(guī)格化數(shù),如何進(jìn)行規(guī)格化?

答:當(dāng)尾數(shù)采用補(bǔ)碼表示時(shí),若運(yùn)算結(jié)果不是11.0XX…X或00.1XX…

義的形式時(shí),結(jié)果就不是規(guī)格化數(shù)。則應(yīng)進(jìn)行相應(yīng)的規(guī)格化處理:

?當(dāng)尾數(shù)符號(hào)為01或10時(shí),需要向右規(guī)格化,且只需將尾數(shù)右移一位,同

時(shí)將結(jié)果的階碼值加1。

?當(dāng)尾數(shù)運(yùn)算結(jié)果為11.1XX…X或00.0義X…X時(shí)需要左移規(guī)格化,而

且左移次數(shù)不固定,與運(yùn)算結(jié)果的形式有關(guān)。

左規(guī)的方法是尾數(shù)連同符號(hào)位一起左移位、和的階碼減1,直到尾數(shù)部分

出現(xiàn)11.0或00.1的形式為止。

4)為什么陣列除法器中能用CAS的進(jìn)位/借位控制端作為上商的控制信號(hào)?

答:陣列除法器利用不恢復(fù)余數(shù)的除法,當(dāng)商上1的時(shí)候,會(huì)產(chǎn)生進(jìn)位,當(dāng)商

上0時(shí),不產(chǎn)生進(jìn)位,進(jìn)位信號(hào)與上商信號(hào)是相同的,所以可以用CAS的進(jìn)位/

借位控制作為上商的控制信號(hào)。

5)移位運(yùn)算和乘法及除法運(yùn)算有何關(guān)系?

答:移位運(yùn)算是乘除法中的基本運(yùn)算。

3.3已知x和y,用變形補(bǔ)碼計(jì)算x+y,并判斷結(jié)果是否溢出。

(1)x=0.11010,y=0.

(2)x=0.11101,y=-0.10100

(3)x=-0.10111,y=-0.11000

解:⑴[x+y]補(bǔ)=OL,溢出。

(2)[x+y]產(chǎn)00.01001,未溢出。

(3)[x+y],h=l0.10001,溢出。

3.4已知x和y,用變形補(bǔ)碼計(jì)算x-y,并判斷結(jié)果是否溢出。

(1)x=0.11011,y=0.11101

(2)x=0.1011by=0.11110

(3)x=-0.11111,y=-0.11001

解:(1)[x-y]樸=11.11110,未溢出。

(2)[x-y]<h=l1.11001,未溢出。

(1)[x-y]ih=l1.11001,未溢出。

3.5設(shè)移碼用6位表示(包含2位符號(hào)位),求[x±y]移

(l)x=-6,y=-3

(2)x=7,y=11

(3)x=-3,y=-12

解:(1)[xk=,[y]產(chǎn)[-y]f?=fY]tt=[-Y]行

[X]稱+必移=,

[X.+[Y*+=

根據(jù)移碼加法公式[x+y]^[X]B+[Y]tt=

根據(jù)移碼加法公式及溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢

出。

根據(jù)移碼的減法公式:

[x-y]s=[x]ft+[-y]lh

二+二

根據(jù)移碼溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢出。

(2)[x]^=,[y]?h=[-y]i.i=

根據(jù)移碼加法公式[x+y]s=[X](,+[Y]tt=+=

(根據(jù)教材中說明的當(dāng)以譯碼和補(bǔ)碼兩種數(shù)據(jù)表示進(jìn)行運(yùn)算時(shí),要將移碼

第一符號(hào)位表示為0)

根據(jù)移碼溢出判斷規(guī)則,雙符號(hào)位為10,結(jié)果為正,且發(fā)生溢出。

根據(jù)移碼的減法公式:

[x-y]移=[x]移+[-y]/卜

=+二

根據(jù)移碼溢出判斷規(guī)則,雙符號(hào)位為00,結(jié)果為負(fù),未溢出。

(3)略,請(qǐng)參照本題前兩小題的思路和方法求解即可

3.6用原碼一位乘法計(jì)算xXy=?

(1)x=-0.11111,y=0.11101

(2)x=-0.11010,y=-0.010U

解:⑴

部分積乘數(shù)(y)判斷位說明

t

00.00000Iyf.11101Po=O

+00.11111

00.11111-

-00.011111yf.1110右移一位,得Pi

+00.00000

00.01111

-00.0011111yf.Ill右移一位,得P2

+00.11111

01.00110

f00.10011Oilyf.11右移一位,得P3

+oo.mil

01.10010

-*00.110010011y.1右移一位,

得P4

+00.1111

01.11000

->00.1110000011yf右移一

位,得P5=|x|?|y|

由于Pf=Xf?十yf=O十1=1

所以

部分積乘數(shù)(y)判斷位

說明

00.00000yf.01011Po=O

+00.11010

00.11010

->00.011010yf.0101右移一位,得Pi

+00.11010

01.00111

-*00.1001110yf.010右移一位,得P2

+00.00000

00.10011

-00,01001110yf.01右移一位,得P3

+00.11010

01.00011

-*00.100011110右移一位,

得P4

+00.0000)

00.10001

->00.0100011110yf右移一位,

得P5=|x|?lyl

由于Pf=xt?十yf=l十1=0

所以?y=0.

3.7用補(bǔ)碼一位乘法計(jì)算xXy=?

(1)x=0.10110,y=-0.00011

(2)x=-0.,y=-0.

解:⑴

[x]#=0.10110,[-x]補(bǔ)=1.01010,[y]補(bǔ)=1.11101

部分積乘數(shù)ynyn+i說明

00.000001.Xn+l=0

+11.01010yn+iyn=01,力口[―x]樸

11.01010

f11.10100_1.11101右移一位,

得R

+00.1011fr-|yn+iyn=10,

加[x]補(bǔ)

00.01011

-oo.ooioiHo1.mo右移一位,

得P-2

+11.01010yn+iyn=01,加

[-x]補(bǔ)

11.01111

一11.101111101.Ill右移一位,

得P3

+00.00000yn+iyn=11?加0

11.10111

f11.1101111101.11右移一位,

得P4

+00.00000yn+iyn=ll,加0

11.11011

f11.1101111101.1右移一位,

得Ps

+00.00)00yn

+iyn=11?>mo

11.1110111110最后一步數(shù)據(jù)不移位

所以[X?y]補(bǔ)=1?

(2)[x]}b=l.,[—x]?=0.,[y]^=l.

部分積乘數(shù)ynyn+i說明

00.1.Yn+1=:0

+00.yn+iyn=01,力口[—x]?

00.

-00.(1—右移一位,得Pl

+00.

yn+iyn=U,加。

00.

-00.101.L0001丕移一位,得Pz

+11.yn+iyn=10,加[x]*

11.

->11.(10.1)00_右移一位,得P3

+00.n+iyn=00,力口0

11.

f1LQ0101.100_右移一位,得P”

+00.yn+iyn=oo,加0

11.

-11.

10010J.10右移一位,得P5

+00.

yn+iyn=oi,力口[―x]仆

00.

->00.右移一位,得Pe

+00.

yn+iyn

00,加0

00.最后一步數(shù)據(jù)不移位

所以[X?y]樸=0.0

3.8用原碼不恢復(fù)余數(shù)法和補(bǔ)碼不恢復(fù)余數(shù)法計(jì)算x+y=?

(1)x=0.10101,y=0.11011

(2)x=-0.10101,y=0.11011

解:(1)[y]tt=0.1101b[—y]補(bǔ)=1.00101

源碼不恢復(fù)余數(shù)法:

被除數(shù)/余數(shù)商寄存器上商位說明

00.10101

+[~y]tt11.00101(X—y)比較

-

11.110o0r()<0,商上0

占11.101300左移一位

H00.1101

余數(shù)為負(fù),加y比?而

00.0111

n>0,商上1

口00.11:100.1

左移一位

+[-y]H11.0001

余數(shù)為畫減y比?屆'

00.00011

「2>0,商上1

國(guó)-00.00」00.11

即30.00010

+[-y]仆11.0(101余數(shù)為正,減y

比較

11.001110.11010r5<0,商上0,只

移商

[xk^-[yk=[Q]?=0.11010,余數(shù)[r]廨=1.

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論