第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)_第1頁(yè)
第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)_第2頁(yè)
第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)_第3頁(yè)
第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)_第4頁(yè)
第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第1章計(jì)算機(jī)系統(tǒng)基礎(chǔ)知識(shí)I

本章主要包括計(jì)算機(jī)系統(tǒng)的組成、計(jì)算機(jī)的類型、計(jì)算機(jī)中數(shù)據(jù)的表示和運(yùn)算、CPU、存

儲(chǔ)器等基礎(chǔ)知識(shí)。

1.1計(jì)算機(jī)系統(tǒng)的基本組成

計(jì)算機(jī)系統(tǒng)是由硬件系統(tǒng)和軟件系統(tǒng)組成的,計(jì)算機(jī)硬件是計(jì)算機(jī)系統(tǒng)中看得見、摸得著

的物理裝置,計(jì)算機(jī)軟件是程序、數(shù)據(jù)和相關(guān)文檔的集合。計(jì)算機(jī)系統(tǒng)的組成如圖1-1所示。

(PU廠運(yùn)算器

廠主機(jī)T{控制器

L內(nèi)存詁器(主存儲(chǔ)器)

「硬件系統(tǒng)j「輸入設(shè)備

I■外部設(shè)備X輸田設(shè)備

計(jì)算機(jī)系統(tǒng)Y

-外存儲(chǔ)器(輔助存儲(chǔ)器)

J軟件系統(tǒng)r系統(tǒng)軟件

工應(yīng)用軟件

圖1-1計(jì)算機(jī)系統(tǒng)的組成示意圖

1.計(jì)算機(jī)系統(tǒng)的硬件組成

基本的計(jì)算機(jī)硬件系統(tǒng)由運(yùn)算器、控制器、存儲(chǔ)器、輸入設(shè)備和輸出設(shè)備5大部件組成。

隨著器件技術(shù)和微電子技術(shù)的發(fā)展,運(yùn)算器、控制器等部件已被集成在一起,統(tǒng)稱為中央處理

單元(CentralProcessingUnit,CPU)。CPU是硬件系統(tǒng)的核心,用于數(shù)據(jù)的加工處理,能完成

各種算術(shù)、邏輯運(yùn)算及控制功能。

運(yùn)算器是對(duì)數(shù)據(jù)進(jìn)行加工處理的部件,它主要完成算術(shù)和邏輯運(yùn)算。控制器的主要功能則

是從主存中取出指令并進(jìn)行分析,控制計(jì)算機(jī)的各個(gè)部件有條不紊地完成指令的功能。

存儲(chǔ)器是計(jì)算機(jī)系統(tǒng)中的記憶設(shè)備,分為內(nèi)部存儲(chǔ)器(MainMemory,MM,簡(jiǎn)稱內(nèi)存、

主存)和外部存儲(chǔ)器(簡(jiǎn)稱外存)。內(nèi)存速度快、容量小,-一般用來臨時(shí)存放計(jì)算機(jī)運(yùn)行時(shí)

所需的程序、數(shù)據(jù)及中間結(jié)果。外存容量大、速度慢,可用于長(zhǎng)期保存信息。寄存器是CPU

中的記憶設(shè)備,用來臨時(shí)存放指令、數(shù)據(jù)及運(yùn)算結(jié)果。與內(nèi)存儲(chǔ)器相比,寄存器的速度耍快

得多。

習(xí)慣上將CPU和主存儲(chǔ)器的有機(jī)組合稱為主機(jī)。輸入/輸出(I/O)設(shè)備位于主機(jī)之外,是

計(jì)算機(jī)系統(tǒng)與外界交換信息的裝置。所謂輸入和輸出,都是相對(duì)于主機(jī)而言的。輸入設(shè)備的作

用是把轉(zhuǎn)換成二進(jìn)制形式的信息輸入到計(jì)算機(jī)的存儲(chǔ)器中,輸出設(shè)備的作用是把運(yùn)算結(jié)果按照

人們所要求的形式輸出到外部設(shè)備或存儲(chǔ)介質(zhì)上。

2.計(jì)算機(jī)軟件

計(jì)算機(jī)軟件是指為管理、運(yùn)行、維護(hù)及應(yīng)用計(jì)算機(jī)所開發(fā)的程序和相關(guān)文檔的集合。如果

計(jì)算機(jī)系統(tǒng)中僅有硬件系統(tǒng),則只具備了計(jì)算的基礎(chǔ),并不能真正運(yùn)算,只有將解決問題的步

驟編制成程序并加載到計(jì)算機(jī)內(nèi)存開始運(yùn)行:,才能完成運(yùn)算。軟件系統(tǒng)是計(jì)算機(jī)系統(tǒng)中的重要

組成部分,通??蓪④浖譃橄到y(tǒng)軟件和應(yīng)用軟件兩大類。

3.計(jì)算機(jī)的類型和應(yīng)用領(lǐng)域

計(jì)算機(jī)技術(shù)的發(fā)展異常迅速,現(xiàn)在的計(jì)算機(jī)使用的關(guān)鍵元器件基本上都是超大規(guī)模集成

電路。

(1)按照體積和工作能力,計(jì)算機(jī)分為巨型機(jī)、大型機(jī)、小型機(jī)和微型機(jī)。微型機(jī)有多種

形式,如臺(tái)式機(jī)(Desktop)、膝上型計(jì)算機(jī)(Laptop)或筆記本式計(jì)算機(jī)(Notebook)、工作站

(Workstation)>掌上型計(jì)算機(jī)和個(gè)人數(shù)字助理(PersonalDigitalAssistant,PDA)等。

(2)按照功能是否專一,計(jì)算機(jī)分為通用計(jì)算機(jī)和專用(嵌入式)計(jì)算機(jī)。

(3)按照CPU的指令系統(tǒng)架構(gòu),計(jì)算機(jī)分為復(fù)雜指令系統(tǒng)計(jì)算機(jī)(ComplexInstructionSei

Computer,CISC)和精簡(jiǎn)指令系統(tǒng)計(jì)算機(jī)(ReducedInstructionSetComputer,RISC)。

(4)按體系結(jié)構(gòu)及指令處理方式,計(jì)算機(jī)分為單指令流單數(shù)據(jù)流計(jì)算機(jī)(SingleInstruction

SingleData,SISD)>單指令流多數(shù)據(jù)流計(jì)算機(jī)(SingleInstructionMultipleData,SIMD)、多指

令流單數(shù)據(jù)流計(jì)算機(jī)(MultipleInstructionSingleData,MISD)和多指令流多數(shù)據(jù)流計(jì)算機(jī)

(MultipleInstiuctionMultipleData,MIMD)。

概括來講,計(jì)算機(jī)的應(yīng)用領(lǐng)域大致可分為數(shù)值計(jì)算、數(shù)據(jù)(或信息)處理、實(shí)時(shí)控制

(或過程控制)、人工智能、計(jì)算機(jī)輔助設(shè)計(jì)(ComputerAidedDesign,CAD)、計(jì)算機(jī)輔助

教學(xué)(ComputerAidedInstruction,CAI)和計(jì)算輔助管理(ComputerAidedManutactunng,

CAM)等。

1.2計(jì)算機(jī)中數(shù)據(jù)的表示及運(yùn)算

1.2.1計(jì)算機(jī)中數(shù)據(jù)的表示

計(jì)算機(jī)最主要的功能是處理數(shù)值、文字、聲音、圖形圖像等信息。在計(jì)算機(jī)內(nèi)部,各種信

息都必須經(jīng)過數(shù)字化編碼后才能被傳送、存儲(chǔ)和處理。所謂編碼,就是采用少量的基本符號(hào),

選用一定的組合原則,以表示大量復(fù)雜多樣的信息?;痉?hào)的種類和這些符號(hào)的組合規(guī)則是

一切信息編碼的兩大要素。洌如,用10個(gè)阿拉伯?dāng)?shù)碼表示數(shù)字,用26個(gè)英文字母表示英文詞

匯等,都是編碼的典型例子。

1.進(jìn)位計(jì)數(shù)制及其轉(zhuǎn)換

在采用進(jìn)位計(jì)數(shù)的數(shù)字系統(tǒng)中,如果只用「?jìng)€(gè)基本符號(hào)表示數(shù)值,則稱其為,?進(jìn)制(Radix-r

NumberSyslem),,?稱為該數(shù)制的基數(shù)(Radix)。不同數(shù)制的共同特點(diǎn)如下。

(1)每一種數(shù)制都有固定的符號(hào)集。例如,十進(jìn)制數(shù)制的基本符號(hào)有十個(gè):0,1,2,…,

9。二進(jìn)制數(shù)制的基本符號(hào)有兩個(gè):0和1。

(2)每一種數(shù)制都使用位置表示法。即處于不同位置的數(shù)符所代表的值不同,與它所在位

置的權(quán)值有關(guān)。

例如,十進(jìn)制數(shù)1234.55可表示為

1234.55=1X1O3+2X1O2+3X1O,+4X10°+5X10-,+5X10-2

可以看出,各種進(jìn)位計(jì)數(shù)制中權(quán)的值恰好是基數(shù)的某次累。因此,對(duì)任何一種進(jìn)位計(jì)數(shù)制

表示的數(shù)都可以寫成按權(quán)展開的多項(xiàng)式。計(jì)算機(jī)中常用的幾種進(jìn)位數(shù)制如表1-1所示。

表計(jì)算機(jī)中常用的進(jìn)位數(shù)制的表示

進(jìn)位制二進(jìn)制八進(jìn)制十進(jìn)制十六進(jìn)制

規(guī)則逢二進(jìn)一逢八進(jìn)一逢十進(jìn)一逢十六進(jìn)一

基數(shù)r=2r=8r=10r=16

數(shù)符0,10,1,2,…,70,1,2,…,90.1,2,,,,,9.A,B,…,F(xiàn)

權(quán)2,10,⑹

形式表示符B0DH

1)十進(jìn)制計(jì)數(shù)法

在十進(jìn)制計(jì)數(shù)制中,『10,基本符號(hào)為0,1,2,…,9。無論多大的數(shù),都是用這10個(gè)

符號(hào)的組合來表示,故稱為十進(jìn)制計(jì)數(shù)法。

2)二進(jìn)制計(jì)數(shù)法

在二進(jìn)制計(jì)數(shù)制中,,=2,基本符號(hào)為。和1。二進(jìn)制數(shù)中的一個(gè)?;騃稱為1位(bit)。

二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)的方法是:將二進(jìn)制數(shù)的每一位數(shù)乘以它的權(quán),然后相加,即可

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

【例1-1]把二進(jìn)制數(shù)100110.101轉(zhuǎn)換成相應(yīng)的十進(jìn)制數(shù)。

54321-1-2-3

(100110.101)2=1X2+0X2+0X2+1X2+1X2+0X2°+1X2+0X2+1X2

=32+0+0+4+2+0+0.5+0+0.125

=38.625

將十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)時(shí),整數(shù)部分和小數(shù)部分分別轉(zhuǎn)換,然后再合并。十進(jìn)制整數(shù)

轉(zhuǎn)換為二進(jìn)制整數(shù)的方法是“除2取余”;十進(jìn)制小數(shù)轉(zhuǎn)換為二進(jìn)制小數(shù)的方法是“乘2取整”。

十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)還有一種簡(jiǎn)便的方法:把一個(gè)十進(jìn)制數(shù)寫成按二進(jìn)制數(shù)權(quán)的大小

展開的多項(xiàng)式,按權(quán)值從高到低依次取各項(xiàng)的系數(shù)就可得到相應(yīng)的二進(jìn)制數(shù)。

【例1?2】把卜進(jìn)制數(shù)175.71875轉(zhuǎn)換為相應(yīng)的二進(jìn)制數(shù)。

7532|-1-3-4-5

(175.71875)10=2+24-24-2+2+2°+2+2+24-2

=10101111.101112

3)八進(jìn)制計(jì)數(shù)法

八進(jìn)制計(jì)數(shù)制中的基本符號(hào)為0,1,2,…,7。

十進(jìn)制數(shù)轉(zhuǎn)換為八進(jìn)制數(shù)的方法是:對(duì)于十進(jìn)制整數(shù)采用“除8取余”的方法轉(zhuǎn)換為八進(jìn)

制整數(shù);對(duì)于十進(jìn)制小數(shù)則采用“乘8取整”的方法轉(zhuǎn)換為八進(jìn)制小數(shù)。

二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)的方法是:從小數(shù)點(diǎn)起,把二進(jìn)制數(shù)每三位分成一組,然后寫出

每一組的等值八進(jìn)制數(shù),順序排列起來就得到所要求的八進(jìn)制數(shù)。

依照同樣的思想,將一位八進(jìn)制數(shù)用三位二進(jìn)制數(shù)表示,就可以宜接將八進(jìn)制數(shù)轉(zhuǎn)換成二

進(jìn)制數(shù)。

二進(jìn)制與八進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系如表1-2所示。

表1?2二進(jìn)制、八進(jìn)制和十六進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系

二進(jìn)制八進(jìn)制二進(jìn)制十六進(jìn)制二進(jìn)制十六進(jìn)制

00000000010008

00110001110019

0102001021010A

0113001131011B

1004010041100C

1015010151101D

1106011061110E

1117011171111F

【例1-3]把二進(jìn)制數(shù).10111轉(zhuǎn)換為相應(yīng)的八進(jìn)制數(shù)。

(10101111.10111)2=257.568

4)十六進(jìn)制計(jì)數(shù)法

在十六進(jìn)制計(jì)數(shù)制中,-16,基本符號(hào)為0,1,2,9,A,B,…,F(xiàn)。

十進(jìn)制數(shù)可以轉(zhuǎn)換為十六進(jìn)制數(shù)的方法是:十進(jìn)制數(shù)的整數(shù)部分“除16取余”,十進(jìn)制數(shù)

的小數(shù)部分“乘16取整”。

由于一位十六進(jìn)制數(shù)可以用4位二進(jìn)制數(shù)來表示,因此二進(jìn)制數(shù)與十六進(jìn)制數(shù)的相互轉(zhuǎn)換

就比較容易。二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的方法是:從小數(shù)點(diǎn)開始,每4位二進(jìn)制數(shù)為一組,

將每一組用相應(yīng)的十六進(jìn)制數(shù)符來表示,即可得到正確的十六進(jìn)制數(shù)。

二進(jìn)制與十六進(jìn)制數(shù)之間的對(duì)應(yīng)關(guān)系如表1-2所示。

【例14】把二進(jìn)制數(shù).10111轉(zhuǎn)換為相應(yīng)的十六進(jìn)制數(shù)。

(10101111.10111)

2=AF.B8I6

2.二進(jìn)制運(yùn)算規(guī)則

(1)加法:二進(jìn)制加法的進(jìn)位規(guī)則是“逢二進(jìn)一”。

0+0=01+0=101=11+1=0(有進(jìn)位)

(2)減法:二進(jìn)制減法的借位規(guī)則是“借一當(dāng)二”。

0-0=01-0=11-1=00-1=1(有借位)

(3)乘法:

0X0=01X0=00X1=01X1=1

3.機(jī)器數(shù)和碼制

各種數(shù)據(jù)在計(jì)算機(jī)中表小的形式稱為機(jī)器數(shù),其特點(diǎn)是采用二進(jìn)制計(jì)數(shù)制,數(shù)的符號(hào)用0、

1表示,小數(shù)點(diǎn)則隱含表示而不占位置。機(jī)器數(shù)對(duì)應(yīng)的實(shí)際數(shù)值稱為數(shù)的真值。

機(jī)器數(shù)有無符號(hào)數(shù)和帶符號(hào)數(shù)之分。無符號(hào)數(shù)表示正數(shù),在機(jī)器數(shù)中沒有符號(hào)位C對(duì)于無

符號(hào)數(shù),若約定小數(shù)點(diǎn)的位置在機(jī)器數(shù)的最低位之后,則是純整數(shù);若約定小數(shù)點(diǎn)的位置在機(jī)

器數(shù)的最高位之前,則是純小數(shù)。對(duì)于帶符號(hào)數(shù),機(jī)器數(shù)的最高位是表示正、負(fù)的符號(hào)位,其

余位則表示數(shù)值。若約定小數(shù)點(diǎn)的位置在機(jī)器數(shù)的最低數(shù)值位之后,則是純整數(shù);若約定小數(shù)

點(diǎn)的位置在機(jī)器數(shù)的最高數(shù)值位之前(符號(hào)位之后),則是純小數(shù)。

為了便于運(yùn)算,帶符號(hào)的機(jī)器數(shù)可采用原碼、反碼和補(bǔ)碼等不同的編碼方法,機(jī)器數(shù)的這

些編碼方法稱為碼制。

1)原碼表示法

數(shù)值X的原碼記為[X]原,如果機(jī)器字長(zhǎng)為〃(即采用〃個(gè)二進(jìn)制位表示數(shù)據(jù)),則最高位

是符號(hào)位,0表示正號(hào),1表示負(fù)號(hào),其余的〃-1位表示數(shù)值的絕對(duì)值。數(shù)值零的原碼表示有

兩種形式:[+0]原0]原=。

【例若機(jī)器字長(zhǎng)〃等于8,則

[+1]原=H]原二

[+127]原-[—127]原-

[+45]原=[-45]g=

[+0.5]原=0[-0.5]?=0(其中。是小數(shù)點(diǎn)的位置)

2)反碼表示法

數(shù)值X的反碼記作[X]反,如果機(jī)器字長(zhǎng)為〃,則最高位是符號(hào)位,。表示正號(hào),1表示負(fù)

號(hào),正數(shù)的反碼與原碼相同,負(fù)數(shù)的反碼則是其絕對(duì)值按位求反。數(shù)值0的反碼表示有兩種形

式:[+0]反=,[-0]反=。

【例1-6】若機(jī)器字長(zhǎng),等于8,則

[+1]反=[-1]反=

[+127]反=[—127]反二

[+45]反=[-45]反二

[+0.5]反=0[-05]反=。(其中。是小數(shù)點(diǎn)的位置)

3)補(bǔ)碼表示法

數(shù)值X的補(bǔ)碼記作[X]補(bǔ),如果機(jī)器字長(zhǎng)為〃,則最高位為符號(hào)位,。表示正號(hào),1表示負(fù)

號(hào),正數(shù)的補(bǔ)碼與其原碼和反碼相同,負(fù)數(shù)的補(bǔ)碼則等于其反碼的末尾加lo在補(bǔ)碼表示中,0

有唯一的編碼:[+0]補(bǔ)=,]-0:補(bǔ)二。

【例1?7】若機(jī)器字長(zhǎng)”等于8,則

[+1]補(bǔ)=H]補(bǔ)=

[+127]補(bǔ)=[-127]補(bǔ)=

[+45]補(bǔ)=[-45]補(bǔ)=

[+0.5]補(bǔ)=0[-05]補(bǔ)=0(其中0是小數(shù)點(diǎn)的位置)

4)移碼表示法

移碼表示法是在數(shù)X上增加一個(gè)偏移量來定義的,常用于表示浮點(diǎn)數(shù)中的階碼。如果機(jī)器

字長(zhǎng)為〃,在偏移量為2”7時(shí),只要將補(bǔ)碼的符號(hào)位取反便可獲得相應(yīng)的移碼表示。

【例1?8】若機(jī)器字長(zhǎng)〃等于8,則

[+1]移=H]移二

[+127]移二[-127]移二

[+45]移二[-45]移、

[+0]移=[一0]移二

4.定點(diǎn)數(shù)和浮點(diǎn)數(shù)

1)定點(diǎn)數(shù)

所謂定點(diǎn)數(shù),就是表示數(shù)據(jù)時(shí)小數(shù)點(diǎn)的位置固定不變。小數(shù)點(diǎn)的位置通常有兩種約定方式:

定點(diǎn)整數(shù)(純整數(shù),小數(shù)點(diǎn)在最低有效數(shù)值位之后)和定點(diǎn)小數(shù)(純小數(shù),小數(shù)點(diǎn)在最高有效

數(shù)值位之前)。

設(shè)機(jī)器字長(zhǎng)為〃,各種碼制表示下的帶符號(hào)數(shù)的范圍如表1-3所示。

表1-3機(jī)器字長(zhǎng)為〃時(shí)各種碼制表示的帶符號(hào)數(shù)的范圍

碼制定點(diǎn)整數(shù)定點(diǎn)小數(shù)

原碼-(2"-1一1)+(2n-,-1)

反碼?+(2/,_,-1)-(l-2-<z,-0)?+(1-2《一。

補(bǔ)碼_2,,_|?-1-

移碼-1?+(1—2十一))

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

當(dāng)機(jī)器字長(zhǎng)為〃時(shí),定點(diǎn)數(shù)的補(bǔ)碼和移碼可表示2〃個(gè)數(shù),而其原碼和反碼只能表示2”-1

個(gè)數(shù)(0表示占用「兩個(gè)編碼),因此,定點(diǎn)數(shù)所能表示的數(shù)值范圍比較小,運(yùn)算中很容易因結(jié)

果超出范圍而溢出。因此引入浮點(diǎn)數(shù),浮點(diǎn)數(shù)是小數(shù)點(diǎn)位置不固定的數(shù),它能表示更大范圍

的數(shù)。

在十進(jìn)制中,一個(gè)數(shù)可以寫成多種表示形式。例如,83.125可寫成10'X().0B3I25或

104X0.0083125等。同樣,一個(gè)二進(jìn)制數(shù)也可以寫成多種表示形式。例如,二進(jìn)制數(shù)1011.10101

可以寫成24X0.101110101、25X0.0101110101或26XO.COIOI110101等。

一個(gè)含小數(shù)點(diǎn)的二進(jìn)制數(shù)N可以表示為更一般的形式:

N=2EXF

其中E稱為階碼,尸為尾數(shù),這種表示數(shù)的方法稱為浮點(diǎn)表示法。

在浮點(diǎn)表示法中,階碼通常為帶符號(hào)的純整數(shù),尾數(shù)為帶符號(hào)的純小數(shù)。浮點(diǎn)數(shù)的表示格

式如下:

階符階碼數(shù)符尾數(shù)

很明顯,一個(gè)數(shù)的浮點(diǎn)表示不是唯一的。當(dāng)小數(shù)點(diǎn)的位置改變時(shí),階碼也相應(yīng)改變,因此

可以用多種浮點(diǎn)形式表示同一個(gè)數(shù)。

浮點(diǎn)數(shù)所能表示的數(shù)值范圍主要由階碼決定,所表示數(shù)值的精度則由尾數(shù)決定。為了充分

利用尾數(shù)來表示更多的有效數(shù)字,通常采用規(guī)格化浮點(diǎn)數(shù)。規(guī)格化就是將尾數(shù)的絕對(duì)值限定在

區(qū)間似5,lb當(dāng)尾數(shù)用補(bǔ)碼表示時(shí),需要注意如下問題。

(1)若尾數(shù)MNO,則其規(guī)格化的尾數(shù)形式為M=0.1XXX…X,其中X可為0,也可為1,

即將尾數(shù)限定在區(qū)間[055

(2)若尾數(shù)M<0,則其規(guī)格化的尾數(shù)形式為M=1.0XXX…X,其中X可為0,也可為1,

即將尾數(shù)”的范圍限定在區(qū)間[-1,-0.5]o

3)工業(yè)標(biāo)準(zhǔn)IEEE754

IEEE754是由IEEE制定的有關(guān)浮點(diǎn)數(shù)的工業(yè)標(biāo)準(zhǔn),被廣泛采用。該標(biāo)準(zhǔn)的表示形式如下:

SPM

其中,S為數(shù)的符號(hào)位,為0時(shí)表示正數(shù),為1時(shí)表示負(fù)數(shù);P為階碼,通常用移碼表示;

M為尾數(shù),用原碼表示。

目前,計(jì)算機(jī)中主要使用三種形式的正EE754浮點(diǎn)數(shù),如表1-4所示。

表三種形式的IEEE754浮點(diǎn)數(shù)格式

參數(shù)單精度浮點(diǎn)數(shù)雙精度浮點(diǎn)數(shù)擴(kuò)充精度浮點(diǎn)數(shù)

浮點(diǎn)數(shù)字長(zhǎng)326480

尾數(shù)長(zhǎng)度235264

符號(hào)位長(zhǎng)度111

階碼長(zhǎng)度81115

指數(shù)偏移量+127+1023+16383

可表示的實(shí)數(shù)范圍]()一38?]10-丸8?]030810,32?0932

在IEEE754標(biāo)準(zhǔn)中,約定小數(shù)點(diǎn)左邊隱含有一位,通常這位數(shù)就是1,因此單精度浮點(diǎn)數(shù)

尾數(shù)的有效位數(shù)為24位,即尾數(shù)為l.XX-Xo

【例利用1ELE7乂標(biāo)注將數(shù)176.0625表示為隼精度浮點(diǎn)數(shù)。

解:首先將該十進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù),g|J(176.0625)10=(10110000.0001),,其次對(duì)二進(jìn)

制數(shù)進(jìn)行規(guī)格化處理,即.0001=0X27。這就保證了最高位為1,而且小數(shù)點(diǎn)應(yīng)當(dāng)在。位置上,

將最高位去掉并擴(kuò)展為單精度浮點(diǎn)數(shù)所規(guī)定的23位尾數(shù),得到。

然后求階碼,上述表示中指數(shù)為7,用移碼表示為(注意,偏移量不是前面移碼描述中所

提到的128,而是127,因此偏移后的指數(shù)值為7+127=134)。

最后,可得到(176.O625)1o的單精度浮點(diǎn)數(shù)表示形式:

0

5.十進(jìn)制數(shù)與字符的編碼表示

數(shù)值、文字和英文字母等都被認(rèn)為是字符,任何字符進(jìn)入計(jì)算機(jī)時(shí),都必須轉(zhuǎn)換成二進(jìn)制

表示形式,稱為字符編碼。

用4位二進(jìn)制代碼表示一位十進(jìn)制數(shù),稱為二?十進(jìn)制編碼,簡(jiǎn)稱BCD編碼。因?yàn)?/p>

而十進(jìn)制數(shù)只有。?9這10個(gè)不同的數(shù)符,故有多種BCD編碼。根據(jù)4位代碼中每一位是否

有確定的權(quán)來劃分,可分為有權(quán)碼和無權(quán)碼兩類。

應(yīng)用最多的有權(quán)碼是8421碼,即4個(gè)二進(jìn)制位的權(quán)從高到低分別為8,4,2和h無權(quán)碼

中用的較多的是余3碼和格雷碼。余3碼是在X421碼的基礎(chǔ)上,把每個(gè)數(shù)的代碼加上0011后

構(gòu)成的。格雷碼的編碼規(guī)則是相鄰的兩個(gè)代碼之間只有一位不同。

常用的842IBCD碼、余3碼、格雷碼與十進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系如表1-5所示。

表1?58421BCD碼、余3碼'格雷碼與十進(jìn)制數(shù)的對(duì)應(yīng)關(guān)系

十進(jìn)制數(shù)8421BCD碼余3BCD碼格雷碼

000001)0110000

1000101000001

2001001010011

3001101100010

4010001110110

5010110001110

6011010011010

7011110101(XX)

8100010111100

9100111000100

6.ASCII碼

ASCII碼(AmericanStandardCodeforInformationInterchange,美國(guó)標(biāo)準(zhǔn)信息交換碼)已

被國(guó)際標(biāo)準(zhǔn)化組織ISO采納,成為一種國(guó)際通用的信息交換用標(biāo)準(zhǔn)代碼。基本的ASCH碼采用

7個(gè)二進(jìn)制位,即d6d5山d3d2dd)對(duì)字符進(jìn)行編碼:低4位組d3d刈出)用作行編碼,高3位組d6d5d4

用作列編碼?;镜腁SCH字符代碼表如表1-6所示。

表L67位ASCII代碼表

d3d2dtd0位<1(4(14位(高3位)

(低4位)000001010on100101110111

0000NULDLESP0@P、p

0001SOHDCI!1AQaq

0010STXDC22BRbr

0011ETXDC3#3CScs

0100EOTDC4$4DTdI

0101ENQNAK%5EUeu

0110ACKSYN&6FVfV

0111BELETB7Gwgw

1000BSCAN(8HXhX

1001HTEM)9IYiy

1010LFSUB*:JZjz

1011VTESC+9K[k(

f

1100FFFS<L\11

1101CRGS-=M]m)

1110SORS?>NTn

1111DIUS/?0I0Del

根據(jù)ASCII碼的構(gòu)成格式,可以很方便地從對(duì)應(yīng)的代碼表中查出每一個(gè)字符的編碼。例如,

字符“0”的ASCII碼值為(25+24=48),字符字”的ASCH碼值為(26+25+20=97),>

7.漢字編碼

漢字處理包括漢字的編碼輸入、漢字的存儲(chǔ)和漢字的輸出等環(huán)節(jié)。也就是說,在計(jì)算機(jī)中

處理漢字,必須先將漢字代碼化,即對(duì)漢字進(jìn)行編碼。

西文是拼音文字,基本符號(hào)比較少,編碼比較容易,而且在一個(gè)計(jì)算機(jī)系統(tǒng)中,輸入、內(nèi)

部處理、存儲(chǔ)和輸出都可以使用同一代碼。漢字種類繁多,編碼比拼音文字困難,而且在i個(gè)

漢字處理系統(tǒng)中,輸入、內(nèi)部處理、存儲(chǔ)利輸出對(duì)漢字代碼的要求不盡相同,所以采用的編碼

也不同。漢字信息處理系統(tǒng)在處理漢字和詞語(yǔ)時(shí),關(guān)鍵的問題是要進(jìn)行一系列的漢字代碼轉(zhuǎn)換。

1)輸入碼

中文的字?jǐn)?shù)繁多,字形復(fù)雜,字音多變,常用漢字就有7000個(gè)左右。為了能直接使用西

文標(biāo)準(zhǔn)鍵盤輸入漢字,必須為漢字設(shè)計(jì)相應(yīng)的編碼方法,漢字的輸入碼主要分為三類:數(shù)字編

碼、拼音碼和字形碼。

(1)數(shù)字編碼。數(shù)字編碼就是用數(shù)字串代表一個(gè)漢字的輸入,常用的是國(guó)標(biāo)區(qū)位碼。國(guó)標(biāo)

區(qū)位碼將國(guó)家標(biāo)準(zhǔn)局公布的6763個(gè)兩級(jí)漢字分成94個(gè)區(qū),每個(gè)區(qū)94位,區(qū)碼和位碼各兩位

十進(jìn)制數(shù)字。例如,“中”字位于第54區(qū)48位,區(qū)位碼為5448。

漢字在區(qū)位碼表的排列是有規(guī)律的。在94個(gè)分區(qū)中,1?15區(qū)用來表示字母、數(shù)字和符號(hào),

16?87區(qū)為一級(jí)和二級(jí)漢字。一級(jí)漢字以漢語(yǔ)拼音為序排列,二級(jí)漢字以偏旁部首進(jìn)行排列。

使用區(qū)位碼方法輸入漢字時(shí),必須先在表中查找漢字對(duì)應(yīng)的代碼,才能輸入。數(shù)字編碼輸入的

優(yōu)點(diǎn)是無重碼,而且輸入碼和內(nèi)部編碼的轉(zhuǎn)換比較方便,但是數(shù)字串代碼難以記憶。

(2)拼音碼。拼音碼是以漢語(yǔ)讀音為基礎(chǔ)的輸入方法。由于漢字同音字太多,輸入重碼率

很高,因此,技拼音輸入后還必須進(jìn)行同音字選擇,會(huì)影響愉入速度。

(3)字形編碼。字形編碼是以漢字的形狀確定的編碼。漢字總數(shù)雖多,但都是由一筆一劃

組成,全部漢字的部件和筆劃是有限的。因此,把漢字的筆劃部件用字母或數(shù)字進(jìn)行編碼,按

筆劃書寫的順序依次輸入,就能表示一個(gè)漢字,五筆字型、表形碼等便是這種編碼法。五筆字

型編碼是最常見的輸入碼。

2)內(nèi)部碼

漢字內(nèi)部碼(簡(jiǎn)稱漢字內(nèi)碼)是漢字在設(shè)備或信息處理系統(tǒng)內(nèi)部最基本的表達(dá)形式,是在

設(shè)備和信息處理系統(tǒng)內(nèi)部存諸、處理、傳輸漢字用的代碼。漢字?jǐn)?shù)量多,用一個(gè)字節(jié)無法區(qū)分,

采用國(guó)家標(biāo)準(zhǔn)局GB2312-80中規(guī)定的漢字國(guó)標(biāo)碼,兩個(gè)字節(jié)存放一個(gè)漢字的內(nèi)碼,每個(gè)字節(jié)

的最高位置1,作為漢字機(jī)內(nèi)碼。由于兩個(gè)字節(jié)各用7位,因此可表示16384個(gè)可區(qū)別的機(jī)內(nèi)

碼。以漢字“大”為例,國(guó)標(biāo)碼為3473H,兩個(gè)字節(jié)的高位置I,得到的機(jī)內(nèi)碼為B4F3H。

為了統(tǒng)一地表示世界各國(guó)的文字,國(guó)際標(biāo)準(zhǔn)化組織1993年公布了“通用多八位編碼字符

集”國(guó)際標(biāo)準(zhǔn)ISO/IEC10646,簡(jiǎn)稱UCS(UniveralCodcSet)。UCS包含了中、日、韓等國(guó)的

文字,這一標(biāo)準(zhǔn)為包括漢字在內(nèi)的各種正在使用的文字規(guī)定了統(tǒng)一的編碼方案。該標(biāo)準(zhǔn)是用4

個(gè)8位碼(4個(gè)字節(jié))來表示每個(gè)字符,并相應(yīng)地指定組、平面、行和字位。

?組:用一個(gè)8位二進(jìn)制來編碼組,最高位不用,剩下7位,能表示128個(gè)組。

?平面:用一個(gè)8位二進(jìn)制來編碼平面,能表示256個(gè)平面。

?行:用一個(gè)8位二進(jìn)制來編碼行,能表示256個(gè)行。

?字位:用一個(gè)8位二進(jìn)制來編碼字位,能表示256個(gè)字位。

一個(gè)字符就被安排在這個(gè)編碼空間的一個(gè)字位上。4個(gè)8位碼32位足以包容世界二所有的

字符,同時(shí)也符合現(xiàn)代處理系統(tǒng)的體系結(jié)構(gòu)。

例如,ASCII字符“A",其ASCII碼用十六進(jìn)制表示為41Ho它在UCS中的編碼為H,

即在00組,00面,00行,第41H字位上。漢字“大”在GB2312中的編碼為3474H,它在

UCS中的編碼為H,即在00組,00面,59H行,第27H字位上。

我國(guó)相應(yīng)的國(guó)家標(biāo)準(zhǔn)為GB13000o詳細(xì)內(nèi)容請(qǐng)查閱網(wǎng)址。

3)字形碼

漢字字形碼是表示漢字字形的字模數(shù)據(jù),通常用點(diǎn)陣、矢量函數(shù)等方式表示,用點(diǎn)陣表示

字形時(shí),漢字字形碼指的就是這個(gè)漢字字形點(diǎn)陣的代碼。字形碼也稱字模碼,是用點(diǎn)陣表示的

漢字字形碼,它是漢字的輸出方式,根據(jù)輸出漢字的要求不同,點(diǎn)陣的多少也不同。簡(jiǎn)易型漢

字為16X16點(diǎn)陣,高精度型漢字為24X24點(diǎn)陣、32X32點(diǎn)陣、48X48點(diǎn)陣等。

字模點(diǎn)陣的信息量是很大的,所占存儲(chǔ)空間也很大,以16X16點(diǎn)陣為例,每個(gè)漢字就需

要32字節(jié)用于機(jī)內(nèi)存儲(chǔ)。字庫(kù)中存儲(chǔ)了每個(gè)漢字的點(diǎn)陣代碼,當(dāng)顯示輸出時(shí)才檢索字庫(kù),輸

出字模點(diǎn)陣得到字形。

漢字的矢量表示法是將漢字看作由筆畫組成的圖形,提取每個(gè)筆畫的坐標(biāo)值,這些坐標(biāo)值

就可以決定每一筆畫的位置,將每一個(gè)漢字的所有坐標(biāo)值信息組合起來就是該漢字字形的矢審

信息。顯然,漢字的字形不同,其矢量信息也就不同,每個(gè)漢字都有自己的矢量信息。由于漢

字的筆畫不同,則矢量信息就不同。所以,每個(gè)漢字矢量信息所占的內(nèi)存大小不一樣。這與點(diǎn)

陣表示法不一樣。

同樣,將每一個(gè)漢字的矢量信息集中在一起就構(gòu)成了漢字庫(kù)。當(dāng)需要漢字輸出時(shí),利用漢

字字形檢索程序根據(jù)漢字內(nèi)碼從字模庫(kù)中找到相應(yīng)的字形碼。

1.2.2校驗(yàn)碼

計(jì)算機(jī)系統(tǒng)運(yùn)行時(shí).各個(gè)部件之間要進(jìn)行數(shù)據(jù)交換.為了確保數(shù)據(jù)在傳送過程中正確無誤.

一是提高硬件電路的可靠性:二是提高代碼的校驗(yàn)?zāi)芰Γú殄e(cuò)和糾錯(cuò)。通常使用校驗(yàn)碼的

方法來檢測(cè)傳送的數(shù)據(jù)是否出錯(cuò)。其基本思想是把數(shù)據(jù)可能出現(xiàn)的編碼分為兩類:合法編碼和

錯(cuò)誤編碼。合法編碼用于傳送數(shù)據(jù),錯(cuò)誤編碼是不允許在數(shù)據(jù)中出現(xiàn)的編碼。合理地設(shè)計(jì)錯(cuò)誤

編碼以及編碼規(guī)則,使得數(shù)據(jù)在傳送中出現(xiàn)某種錯(cuò)誤時(shí)就會(huì)變成錯(cuò)誤編碼,這樣就可以檢測(cè)出

接收到的數(shù)據(jù)是否有錯(cuò)。

碼距是校驗(yàn)碼中的一個(gè)重要概念。所謂碼距,是指一個(gè)編碼系統(tǒng)中任意兩個(gè)合法編碼之間

至少有多少個(gè)二進(jìn)制位不同。例如,4位8421碼的碼距為1,在傳輸過程中,該代碼的一位或

多位發(fā)生錯(cuò)誤,都將變成另外一個(gè)合法編碼,因此這種代碼無差錯(cuò)檢驗(yàn)?zāi)芰?。下面?jiǎn)單介紹常

用的三種校驗(yàn)碼:奇偶校驗(yàn)碼(ParityCodes)、海明碼(HammingCode)和循環(huán)冗余校驗(yàn)(Cyclic

RedundancyCheck,CRC)碼。

1.奇偶校驗(yàn)碼

奇偶校驗(yàn)是一種簡(jiǎn)單有效的校驗(yàn)方法。這種方法通過在編碼中增加一個(gè)校驗(yàn)位來使編碼中

1的個(gè)數(shù)為奇數(shù)(奇校驗(yàn))或者偶數(shù)(偶校驗(yàn)),從而使碼距變?yōu)?。對(duì)于奇偶校驗(yàn),它可以檢

測(cè)代碼中奇數(shù)位出錯(cuò)的編碼,但不能發(fā)現(xiàn)偶數(shù)位出錯(cuò)的情況,即當(dāng)合法編碼中奇數(shù)位發(fā)生了錯(cuò)

誤,也就是編碼中的1變成?;颉W兂?,則該編碼中1的個(gè)數(shù)的奇偶性就發(fā)生了變化,從而

可以發(fā)現(xiàn)錯(cuò)誤。

表1.78421碼的奇偶校瞼碼

十進(jìn)制數(shù)8421BCD碼帶奇校驗(yàn)位的8421碼帶偶校驗(yàn)位的8421碼

000000000100000

100010001000011

200100010000101

300110011100110

401000100001001

501010101101010

601100110101100

7Dili0111001111

810001000010001

9100110011100I0

從表1-7可知,帶奇偶校驗(yàn)位的8421碼由4位信息位和1位校驗(yàn)位組成,碼距為2,能檢

杳出代碼信息中奇數(shù)位出錯(cuò)的情況,而錯(cuò)在哪些位是檢查不出來的。也就是說,它只能發(fā)現(xiàn)錯(cuò)

誤,而不能校正錯(cuò)誤。

常用的奇偶校驗(yàn)碼有三種:水平奇偶校驗(yàn)碼、垂直奇偶校驗(yàn)碼和水平垂直校驗(yàn)碼。

(1)水平奇偶校驗(yàn)碼。對(duì)每一個(gè)數(shù)據(jù)的編碼添加校驗(yàn)位,使信息位與校驗(yàn)位處于同一行。

(2)垂直奇偶校驗(yàn)碼。這種校驗(yàn)碼把數(shù)據(jù)分成若干組,一組數(shù)據(jù)占一行,排列整齊,再加

一行校驗(yàn)碼,針對(duì)每一列采用奇校驗(yàn)或偶校驗(yàn)。

【例1?10】對(duì)于32位數(shù)據(jù),其垂直奇校驗(yàn)和垂直偶校驗(yàn)如下所示。

編碼分類垂直奇校驗(yàn)碼垂直偶校驗(yàn)碼

1010010110100101

數(shù)據(jù)0011011000110110

1100110011001100

1010101110101011

校驗(yàn)位000010111i110100

(3)水平垂直校驗(yàn)碼。在垂直校驗(yàn)碼的基礎(chǔ)上,對(duì)每個(gè)數(shù)據(jù)再增加?位水平校驗(yàn)位,便構(gòu)

成水平垂直校驗(yàn)碼。

【例i?n】對(duì)于32位數(shù)據(jù),其水平垂直奇校驗(yàn)和偶校驗(yàn)如下所示。

奇偶類水平垂直奇校驗(yàn)碼水平垂直偶校驗(yàn)碼

分類水平校驗(yàn)位數(shù)據(jù)水平校驗(yàn)位數(shù)據(jù)

110100101010100101

100110110000110110

111001100011001100

010101011110101011

垂直校驗(yàn)位000001011111110100

2.海明碼

海明碼也是利用奇偶性來檢錯(cuò)和糾錯(cuò)的校驗(yàn)方法。海明碼的構(gòu)成方法是:在數(shù)據(jù)位之間插

入k個(gè)校驗(yàn)位,通過擴(kuò)大碼距來實(shí)現(xiàn)檢錯(cuò)和糾錯(cuò)。

例如,對(duì)于8位的數(shù)據(jù)位,進(jìn)行海明校驗(yàn)需要4個(gè)校驗(yàn)位。令數(shù)據(jù)位為D:、D6、Ds、D&、

4、D2、Di、DO,校驗(yàn)位為P4、P3、P2、PH形成的海明碼為H12、H”、…、H3、Hi.Hi,則

編碼過程如下。

(1)首先確定數(shù)據(jù)位與校驗(yàn)位在海明碼中的位置,如下所示。

H12HiiH10H9HSH7H6HSH4H3H2Hl

D7DiD4P4D3D?DiP3DoP2Pi

(2)通過校驗(yàn)關(guān)系,確定各校驗(yàn)位的值。

Pi偶校驗(yàn):Pi、Do、DHD3、D4、D6

即PI=DO十DI十D3十D4十D6

P2偶校驗(yàn):P2、Do、D2、Da、D5、D6

即P2=Do十D2十D?十D5十Df>

P3偶校驗(yàn):P3、Di、D2、D3、D7

即P3=D|十D2十D3十D7

P4偶校驗(yàn):P4、D4>D5、D(,、D7

即P4=D4十D5十D6十D7

若采用奇校驗(yàn),則將各校驗(yàn)位的偶校驗(yàn)值取反即可。

(3)檢測(cè)錯(cuò)誤。對(duì)使用海明編碼的數(shù)據(jù)進(jìn)行差錯(cuò)檢測(cè)很簡(jiǎn)單,只需作以下計(jì)算:

G二Pi十Do十Di十D39D4十D6

G=P2十Do十D?十D3十D.5十D6

Q=P3十DI十D2十D3十D?

Q=P4十D4十D5十。6十D7

若采用偶校驗(yàn),則QGGG全為0時(shí)表示接收到的數(shù)據(jù)無錯(cuò)誤(奇校驗(yàn)則應(yīng)全為1)。當(dāng)

QG3G2G不全為0說明發(fā)生了差錯(cuò),而且G4G3G2G1的十進(jìn)制值指出發(fā)生錯(cuò)誤的位置,例如

G1G3G2G=1010,說明HIO(D5)出錯(cuò)了,將其取反即可糾正錯(cuò)誤。

【例1?12】設(shè)數(shù)據(jù)為,試采用4個(gè)校驗(yàn)位求其偶校驗(yàn)方式的海明碼。

解:D7D6D5D4D3D2D1D尸,根據(jù)公式

Pi=Do十Di十D3十D4十D6=l十0十1十。十1=1

P2=D()十D?十D3十Ds十D6=l十。十1十1十1=0

P產(chǎn)Di十D2十6十D7=0十0十1十0=1

P4=D4十Ds十D6十D7=0十1十1十0=0

因此,求得的海明碼為:

H|HuH10HsH3Hi

2H9H7H6H5H4H2

E>7D5D301Do

D6D4P4D2P3P2Pi

011001001101

3.循環(huán)冗余校驗(yàn)碼

循環(huán)冗余校驗(yàn)碼廣泛應(yīng)用于數(shù)據(jù)通信領(lǐng)域和磁介質(zhì)存儲(chǔ)系統(tǒng)中。它利用生成多項(xiàng)式為2個(gè)

數(shù)據(jù)位產(chǎn)生「?jìng)€(gè)校驗(yàn)位來進(jìn)行編碼,其編碼長(zhǎng)度為&+入CRC的代碼格式為:

n-1r+1rr-121

數(shù)據(jù)位----------------------------校驗(yàn)位

由此可知,循環(huán)冗余校驗(yàn)碼是由兩部分組成的,左邊為信息碼(數(shù)據(jù)),右邊為校驗(yàn)碼。

若信息碼占出位,則校驗(yàn)碼就占〃-女位。其中,〃為CRC碼的字長(zhǎng),所以又稱為(〃,k)碼。

校驗(yàn)碼是由信息碼產(chǎn)生的,校驗(yàn)碼位數(shù)越長(zhǎng),該代碼的校驗(yàn)?zāi)芰驮綇?qiáng)。在求CRC編碼時(shí),

采用的是模2運(yùn)算。

模2加減運(yùn)算的規(guī)則是:按位運(yùn)算,不發(fā)生借位和進(jìn)位,如卜所示:

0+0=01+0=10+1=11+1=0

0-0=01-0=10-1=11-1=0

1.2.3邏輯代數(shù)及邏輯運(yùn)算

邏輯代數(shù)是1849年英國(guó)數(shù)學(xué)家喬治?布爾提出的,它是用代數(shù)的方式對(duì)邏輯變量進(jìn)行描

述和分析的數(shù)學(xué)工具,也稱為布爾代數(shù)。邏輯變量的取值只有“真”和“假”,通常以1表示

“真”,。表示“假、

1.基本的邏輯運(yùn)算

在邏輯代數(shù)中有三種最基本的運(yùn)算:“與”運(yùn)算、“或”運(yùn)算、“非”運(yùn)算,其他邏輯運(yùn)算

可由這三種基本運(yùn)算進(jìn)行組合來表示。

1)“與”運(yùn)算

“與”運(yùn)算又稱為邏輯乘,其運(yùn)算符號(hào)常用AND、「、八或”?”表示。設(shè)A和B為兩

個(gè)邏輯變量,當(dāng)且僅當(dāng)A和B的取值都為“真”時(shí),A“與"B的值為“真”;否則A“與"B

的值為“假”,如表1-8所示。

2)“或”運(yùn)算

“或”運(yùn)算也稱為邏輯加,其運(yùn)算符號(hào)常用OR、U、V或表示。設(shè)A和B為兩個(gè)邏

輯變量,當(dāng)且僅當(dāng)A和B的取值都為“假”時(shí),A“或"B的值為“假”:否則A"或"B的值

為“真”,如表1-9所示。

表1-8“與”運(yùn)算規(guī)則表1-9“或”運(yùn)算規(guī)則

ABA?BABA+B

000000

010011

100101

111111

3)“非”運(yùn)算

_“非”運(yùn)算也稱為邏輯求反運(yùn)算,常用,表示對(duì)變量A的值求反。其運(yùn)算規(guī)則很簡(jiǎn)單:i=o,

0=1O

4)“異或”運(yùn)算

常用的邏輯運(yùn)算還有“異或”運(yùn)算,乂稱為半加運(yùn)算,其運(yùn)算符號(hào)常用XOR或十表示。

設(shè)A和B為兩個(gè)邏輯變量,當(dāng)且僅當(dāng)A、B的值皙時(shí),A“異或"B為真。A“異或”B的

運(yùn)算可由前三種基本運(yùn)算表示,即A十B=X?B+A?6.

2.常用的邏輯公式

常用的邏輯公式如表1-10所示。

表1-10常用的邏輯公式

交換律A+B=B+AA?B=B?A重疊律A+A=AA?A=A

A+(B+C)=(A+B:+C互補(bǔ)律A+A=lA-A=0

結(jié)合律

A?(D?C)=(A-B)?C吸收律A+AB=A+B

A?(B+C)=A?B+A?C0+A=A0?A=0

分配律0-1律

A+(B?C)=(A+B)?(A+C)1+A=11?A=A

反演律A4-B=A?BA?B=A+B對(duì)合律A=A

A+AB=A

其他公式AB+AB=A

AB+AC+BC=AB+ACA十B=A十B=A十B

3.邏輯表達(dá)式及其化簡(jiǎn)

1)邏輯表達(dá)式與真值表

邏輯表達(dá)式就是用邏輯運(yùn)算符把邏輯變量(或常量)連接在一起表示某種邏輯關(guān)系的表達(dá)

式。常用表格來描述一個(gè)邏輯表達(dá)式與其變量之間的關(guān)系,也就是把變量和表達(dá)式的各種取值

都一一對(duì)應(yīng)列舉出來,稱之為真值表。

【例1?13]用真值表證明AB+Am=A。

ABABABAB+AB

00000

01000

10011

11101

從表中可以看出,無論B取何值,AB+AB的值和A的值都是相同的,所以AB+AB=A?

2)邏輯表達(dá)式的化簡(jiǎn)

利用邏輯運(yùn)算的規(guī)律和一些'常:型邏蹩恒啊可以過二個(gè)型輯表達(dá)式進(jìn)行化簡(jiǎn)。

1-14]化簡(jiǎn)邏輯表達(dá)式(云E^+A§C+云BC+A豆6+A§C+ABC)。

解:(ABC+ABC+ABC+ABC+ABC+ABC)

=(AB(C+C)+(A+A)BC+AB(C+C))(結(jié)合律、分配律)

=(AB+BC+AB)(互補(bǔ)律)

=((A+A)B+BC)(結(jié)合律、分配律)

=(B+BC)(互補(bǔ)律)

=(B+C)(吸收律)

1.2.4機(jī)器數(shù)的運(yùn)算

1.機(jī)器數(shù)的加減運(yùn)算

在計(jì)算機(jī)中,可以只設(shè)置加法器,而將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算來實(shí)現(xiàn)。

1)原碼加、減法

當(dāng)兩個(gè)相同符號(hào)的原碼數(shù)相加時(shí),只需將數(shù)值部分直接相加,運(yùn)算結(jié)果的符號(hào)與兩個(gè)加數(shù)

的符號(hào)相同。若兩個(gè)加數(shù)的符號(hào)相異,則應(yīng)進(jìn)行減法運(yùn)算。其方法是:先比較兩個(gè)數(shù)絕對(duì)值的

大小,然后用絕對(duì)值大者的絕對(duì)值減去絕對(duì)值小者的絕對(duì)值,結(jié)果的符號(hào)取絕對(duì)值大者的符號(hào)。

因此,原碼表示的機(jī)器數(shù)進(jìn)行減法運(yùn)算是很麻煩的,所以在計(jì)算機(jī)中很少被采用。

2)補(bǔ)碼加、減法

①補(bǔ)碼加法的運(yùn)算法則是:和的補(bǔ)碼等于補(bǔ)碼求和,即[X+Y]補(bǔ)=[X]補(bǔ)+[Y]補(bǔ)。

②補(bǔ)碼減法的方法是:差的補(bǔ)碼等于被減數(shù)的補(bǔ)碼加上減數(shù)取負(fù)后的補(bǔ)碼。因此,在補(bǔ)

碼表示中,可將減法運(yùn)算轉(zhuǎn)換為加法運(yùn)算,即[X-Y]補(bǔ)=[X]補(bǔ)+[-Y]補(bǔ)。

③由[X]補(bǔ)求[-X]補(bǔ)的方法是:[X]補(bǔ)的各位取反(包括符號(hào)位),末尾加1。

【例1?15】設(shè)二

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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)論