新浪微博
關(guān)注微博
人類(lèi)用文字、圖表、數(shù)字表達(dá)和記錄著世界上各種各樣的信息,便于人們用來(lái)處理和交流。現(xiàn)在可以把這些信息都輸入到計(jì)算機(jī)中,由計(jì)算機(jī)來(lái)保存和處理。前面提到,當(dāng)代馮·諾依曼型計(jì)算機(jī)都使用二進(jìn)制來(lái)表示數(shù)據(jù),本節(jié)所要討論的就是用二進(jìn)制來(lái)表示這些 數(shù)據(jù)。
經(jīng)過(guò)收集、整理和組織起來(lái)的數(shù)據(jù),能成為有用的信息。數(shù)據(jù)是指能夠輸入計(jì)算機(jī)并被計(jì)算機(jī)處理的數(shù)字、字母和符號(hào)的集合。平常所看到的景象和聽(tīng)到的事實(shí),都可以用數(shù)據(jù)來(lái)描述?梢哉f(shuō),只要計(jì)算機(jī)能夠接受的信息都可叫數(shù)據(jù)。
計(jì)算機(jī)數(shù)據(jù)的表示經(jīng)常用到以下幾個(gè)概念。在計(jì)算機(jī)內(nèi)部,數(shù)據(jù)都是以二進(jìn)制的形式存儲(chǔ)和運(yùn)算的。
(1)位
二進(jìn)制數(shù)據(jù)中的一個(gè)位(bit)簡(jiǎn)寫(xiě)為b,音譯為比特,是計(jì)算機(jī)存儲(chǔ)數(shù)據(jù)的zui小單位。一個(gè)二進(jìn)制位只能表示0或1兩種狀態(tài),要表示更多的信息,就要把多個(gè)位組合成一個(gè)整體,一般以8位二進(jìn)制組成一個(gè)基本單位。
(2)字節(jié)
字節(jié)是計(jì)算機(jī)數(shù)據(jù)處理的zui基本單位,并主要以字節(jié)為單位解釋信息。字節(jié)(Byte)簡(jiǎn)記為B,規(guī)定一個(gè)字節(jié)為8位,即1B=8bit。每個(gè)字節(jié)由8個(gè)二進(jìn)制位組成。一般情況下,一個(gè)ASCII碼占用一個(gè)字節(jié),一個(gè)漢字國(guó)際碼占用兩個(gè)字節(jié)。
(3)字
一個(gè)字通常由一個(gè)或若干個(gè)字節(jié)組成。字(Word)是計(jì)算機(jī)進(jìn)行數(shù)據(jù)處理時(shí),一次存取、加工和傳送的數(shù)據(jù)長(zhǎng)度。由于字長(zhǎng)是計(jì)算機(jī)一次所能處理信息的實(shí)際位數(shù),所以,它決定了計(jì)算機(jī)數(shù)據(jù)處理的速度,是衡量計(jì)算機(jī)性能的一個(gè)重要指標(biāo),字長(zhǎng)越長(zhǎng),性能越好。
(4)數(shù)據(jù)的換算關(guān)系
1Byte=8bit,1KB=1024B,1MB=1024KB,1GB=1024MB。
計(jì)算機(jī)型號(hào)不同,其字長(zhǎng)是不同的,常用的字長(zhǎng)有8、16、32和64位。一般情況下,IBM PC/XT的字長(zhǎng)為8位,80286微機(jī)字長(zhǎng)為16位,80386/80486微機(jī)字長(zhǎng)為32位,Pentium系列微機(jī)字長(zhǎng)為64位。
例如,一臺(tái)微機(jī),內(nèi)存為256MB,軟盤(pán)容量為1.44MB,硬盤(pán)容量為80GB,則它實(shí)際的存儲(chǔ)字節(jié)數(shù)分別為:
內(nèi)存容量=256×1024×1024B=268435456B
軟盤(pán)容量=1.44×1024×1024B=1509949.44B
硬盤(pán)容量=80×1024×1024×1024B=85899345920B
如何表示正負(fù)和大小,在計(jì)算機(jī)中采用什么計(jì)數(shù)制,是學(xué)習(xí)計(jì)算機(jī)的一個(gè)重要問(wèn)題。數(shù)據(jù)是計(jì)算機(jī)處理的對(duì)象,在計(jì)算機(jī)內(nèi)部,各種信息都必須通過(guò)數(shù)字化編碼后才能進(jìn)行存儲(chǔ)和處理。
由于技術(shù)原因,計(jì)算機(jī)內(nèi)部一律采用二進(jìn)制,而人們?cè)诰幊讨薪?jīng)常使用十進(jìn)制,有時(shí)為了方便還采用八進(jìn)制和十六進(jìn)制。理解不同計(jì)數(shù)制及其相互轉(zhuǎn)換是非常重要的。
在計(jì)算機(jī)中,二進(jìn)制并不符合人們的習(xí)慣,但是計(jì)算機(jī)內(nèi)部卻采用二進(jìn)制表示信息,其主要原因有如下4點(diǎn):
(1)電路簡(jiǎn)單
在計(jì)算機(jī)中,若采用十進(jìn)制,則要求處理10種電路狀態(tài),相對(duì)于兩種狀態(tài)的電路來(lái)說(shuō),是很復(fù)雜的。而用二進(jìn)制表示,則邏輯電路的通、斷只有兩個(gè)狀態(tài)。例如:開(kāi)關(guān)的接通與斷開(kāi),電平的高與低等。這兩種狀態(tài)正好用二進(jìn)制的0和1來(lái)表示。
(2)工作可靠
在計(jì)算機(jī)中,用兩個(gè)狀態(tài)代表兩個(gè)數(shù)據(jù),數(shù)字傳輸和處理方便、簡(jiǎn)單、不容易出錯(cuò),因而電路更加可靠。
(3)簡(jiǎn)化運(yùn)算
在計(jì)算機(jī)中,二進(jìn)制運(yùn)算法則很簡(jiǎn)單。例如:相加減的速度快,求積規(guī)則有3個(gè),求和規(guī)則也只有3個(gè)。
(4)邏輯性強(qiáng)
二進(jìn)制只有兩個(gè)數(shù)碼,正好代表邏輯代數(shù)中的“真”與“假”,而計(jì)算機(jī)工作原理是建立在邏輯運(yùn)算基礎(chǔ)上的,邏輯代數(shù)是邏輯運(yùn)算的理論依據(jù)。用二進(jìn)制計(jì)算具有很強(qiáng)的邏 輯性。
用若干數(shù)位(由數(shù)碼表示)的組合去表示一個(gè)數(shù),各個(gè)數(shù)位之間是什么關(guān)系,即逢“幾”進(jìn)位,這就是進(jìn)位計(jì)數(shù)制的問(wèn)題。也就是數(shù)制問(wèn)題。數(shù)制,即進(jìn)位計(jì)數(shù)制,是人們利用數(shù)字符號(hào)按進(jìn)位原則進(jìn)行數(shù)據(jù)大小計(jì)算的方法。通常是以十進(jìn)制來(lái)進(jìn)行計(jì)算的。另外,還有二進(jìn)制、八進(jìn)制和十六進(jìn)制等。
在計(jì)算機(jī)的數(shù)制中,要掌握3個(gè)概念,即數(shù)碼、基數(shù)和位權(quán)。下面簡(jiǎn)單地介紹這3個(gè)概念。
數(shù)碼:一個(gè)數(shù)制中表示基本數(shù)值大小的不同數(shù)字符號(hào)。例如,八進(jìn)制有8個(gè)數(shù)碼:0、1、2、3、4、5、6、7。
基數(shù):一個(gè)數(shù)值所使用數(shù)碼的個(gè)數(shù)。例如,八進(jìn)制的基數(shù)為8,二進(jìn)制的基數(shù)為2。
位權(quán):一個(gè)數(shù)值中某一位上的1所表示數(shù)值的大小。例如,八進(jìn)制的123,1的位權(quán)是64,2的位權(quán)是8,3的位權(quán)是1。
十進(jìn)制的特點(diǎn)如下:
(1)有10個(gè)數(shù)碼:0、1、2、3、4、5、6、7、8、9。
(2)基數(shù):10。
(3)逢十進(jìn)一(加法運(yùn)算),借一當(dāng)十(減法運(yùn)算)。
(4)按權(quán)展開(kāi)式。對(duì)于任意一個(gè)n位整數(shù)和m位小數(shù)的十進(jìn)制數(shù)D,均可按權(quán)展 開(kāi)為:
D=Dn-1·10n-1+Dn-2·10n-2+…+D1·101+D 0·10 0+D -1·10 –1+…+D –m·10 –m
例:將十進(jìn)制數(shù)456.24寫(xiě)成按權(quán)展開(kāi)式形式為:
456.24=4×10 2+5×101+6×100+2×10-1+4×10-2
二進(jìn)制有如下特點(diǎn):
(1)有兩個(gè)數(shù)碼:0、1。
(2)基數(shù):2。
(3)逢二進(jìn)一(加法運(yùn)算),借一當(dāng)二(減法運(yùn)算)。
(4)按權(quán)展開(kāi)式。對(duì)于任意一個(gè)n位整數(shù)和m位小數(shù)的二進(jìn)制數(shù)D,均可按權(quán)展 開(kāi)為:
D=Bn-1·2n-1+Bn-2·2n-2+…+B1·21+B0·20+B-1·2–1+…+B–m·2-m
例:把(11001.101)2寫(xiě)成展開(kāi)式,它表示的十進(jìn)制數(shù)為:
1×2 4+1×2 3+0×22+0×21+1×20+1×2-1+0×2-2+1×2-3=(25.625)10
八進(jìn)制的特點(diǎn)如下:
(1)有8個(gè)數(shù)碼:0、1、2、3、4、5、6、7。
(2)基數(shù):8。
(3)逢八進(jìn)一(加法運(yùn)算),借一當(dāng)八(減法運(yùn)算)。
(4)按權(quán)展開(kāi)式。對(duì)于任意一個(gè)n位整數(shù)和m位小數(shù)的八進(jìn)制數(shù)D,均可按權(quán)展 開(kāi)為:
D=On-1·8n-1+…+O1·81+O0·80+O-1·8 –1+…+O–m·8-m
例:(5346)8相當(dāng)于十進(jìn)制數(shù)為:
5×83+3×82+4×81+6×80=(2790)10
十六進(jìn)制有如下特點(diǎn):
(1)有16個(gè)數(shù)碼:0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F。
(2)基數(shù):16。
(3)逢十六進(jìn)一(加法運(yùn)算),借一當(dāng)十六(減法運(yùn)算)。
(4)按權(quán)展開(kāi)式。對(duì)于任意一n位整數(shù)和m位小數(shù)的十六進(jìn)制數(shù)D,均可按權(quán)展 開(kāi)為:
D=Hn-1·16n-1+…+H1·161+H 0·16 0+H -1·16 –1+…+H –m·16 -m
在16個(gè)數(shù)碼中,A、B、C、D、E和F這6個(gè)數(shù)碼分別代表十進(jìn)制的10、11、12、13、14和15,這是國(guó)際上通用的表示法。
例:十六進(jìn)制數(shù)(4C4D)16代表的十進(jìn)制數(shù)為:
4×163+C×16 2+4×161+D×160=(19533)10
二進(jìn)制數(shù)與其他數(shù)之間的對(duì)應(yīng)關(guān)系如表1-1所示。
表1-1 幾種常用進(jìn)制之間的對(duì)照關(guān)系
十 進(jìn) 制 |
二 進(jìn) 制 |
八 進(jìn) 制 |
十 六 進(jìn) 制 |
0 |
0000 |
0 |
0 |
1 |
0001 |
1 |
1 |
2 |
0010 |
2 |
2 |
3 |
0011 |
3 |
3 |
4 |
0100 |
4 |
4 |
5 |
0101 |
5 |
5 |
6 |
0110 |
6 |
6 |
7 |
0111 |
7 |
7 |
8 |
1000 |
10 |
8 |
9 |
1001 |
11 |
9 |
10 |
1010 |
12 |
A |
11 |
1011 |
13 |
B |
12 |
1100 |
14 |
C |
13 |
1101 |
15 |
D |
14 |
1110 |
16 |
E |
15 |
1111 |
17 |
F |
不同數(shù)進(jìn)制之間進(jìn)行轉(zhuǎn)換應(yīng)遵循轉(zhuǎn)換原則。轉(zhuǎn)換原則是:兩個(gè)有理數(shù)如果相等,則有理數(shù)的整數(shù)部分和分?jǐn)?shù)部分一定分別相等。也就是說(shuō),若轉(zhuǎn)換前兩數(shù)相等,轉(zhuǎn)換后仍必須相等,數(shù)制的轉(zhuǎn)換要遵循一定的規(guī)律。
(1)二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù)
將二進(jìn)制數(shù)轉(zhuǎn)換成十進(jìn)制數(shù),只要將二進(jìn)制數(shù)用計(jì)數(shù)制通用形式表示出來(lái),計(jì)算出結(jié)果,便得到相應(yīng)的十進(jìn)制數(shù)。
例:(1101100.111)2=1×26+1×25+1×23+1×22+1×2-1+1×2-2+1×2-3
=64+32+8+4+0.5+0.25+0.125
=(108.875)10
(2)八進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)
八進(jìn)制數(shù)→十進(jìn)制數(shù):以8為基數(shù)按權(quán)展開(kāi)并相加。
例:把(652.34)8轉(zhuǎn)換成十進(jìn)制。
解:(652.34)8=6×82+5×81+2×80+3×8-1+4×8-2
=384+40+2+0.375+0.0625
=(426.4375)10
(3)十六進(jìn)制數(shù)轉(zhuǎn)換為十進(jìn)制數(shù)
十六進(jìn)制數(shù)→十進(jìn)制數(shù):以16為基數(shù)按權(quán)展開(kāi)并相加。
例:將(19BC.8)16轉(zhuǎn)換成十進(jìn)制數(shù)。
解:(19BC.8)16=1×163+9×162+B×161+C×160+8×16-1
=4096+2304+176+12+0.5
=(6588.5)10
(1)整數(shù)部分的轉(zhuǎn)換
整數(shù)部分的轉(zhuǎn)換采用的是除2取余法。其轉(zhuǎn)換原則是:將該十進(jìn)制數(shù)除以2,得到一個(gè)商和余數(shù)(K0),再將商除以2,又得到一個(gè)新商和余數(shù)(K1),如此反復(fù),得到的商是0時(shí)得到余數(shù)(Kn-1),然后將所得到的各位余數(shù),以zui后余數(shù)為zui高位,zui初余數(shù)為zui低位依次排列,即Kn-1Kn-2…K1K0,這就是該十進(jìn)制數(shù)對(duì)應(yīng)的二進(jìn)制數(shù)。這種方法又稱(chēng)為“倒 序法”。
例:將(126)10轉(zhuǎn)換成二進(jìn)制數(shù)。
結(jié)果為:(126)10=(1111110)2
(2)小數(shù)部分的轉(zhuǎn)換
小數(shù)部分的轉(zhuǎn)換采用乘2取整法。其轉(zhuǎn)換原則是:將十進(jìn)制數(shù)的小數(shù)乘以2,取乘積中的整數(shù)部分作為相應(yīng)二進(jìn)制數(shù)小數(shù)點(diǎn)后zui高位K-1,反復(fù)乘2,逐次得到K-2、K-3、…、K-m,直到乘積的小數(shù)部分為0或1的位數(shù)達(dá)到精確度要求為止。然后把每次乘積的整數(shù)部分由上而下依次排列起來(lái)(K-1K-2…K-m),即是所求的二進(jìn)制數(shù)。這種方法又稱(chēng)為“順序法”。
例:將十進(jìn)制數(shù)(0.534)10轉(zhuǎn)換成相應(yīng)的二進(jìn)制數(shù)。
結(jié)果為:(0.534)10=(0.10001)2
例:將(50.25)10轉(zhuǎn)換成二進(jìn)制數(shù)。
分析:對(duì)于這種既有整數(shù)又有小數(shù)部分的十進(jìn)制數(shù),可將其整數(shù)和小數(shù)分別轉(zhuǎn)換成二進(jìn)制數(shù),然后再把兩者連接起來(lái)即可。
因?yàn)椋?0)10=(110010)2,(0.25)10=(0.01)2
所以(50.25)10=(110010.01)2
(1)八進(jìn)制轉(zhuǎn)換為二進(jìn)制數(shù)
八進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)所使用的轉(zhuǎn)換原則是“一位拆三位”,即把一位八進(jìn)制數(shù)對(duì)應(yīng)于三位二進(jìn)制數(shù),然后按順序連接即可。
例:將(64.54)8轉(zhuǎn)換為二進(jìn)制數(shù)。
6 4 . 5 4
↓ ↓ ↓ ↓ ↓
110 100 . 101 100
結(jié)果為:(64.54)8=(110100.101100)2
(2)二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)
二進(jìn)制數(shù)轉(zhuǎn)換成八進(jìn)制數(shù)可概括為“三位并一位”,即從小數(shù)點(diǎn)開(kāi)始向左右兩邊以每三位為一組,不足三位時(shí)補(bǔ)0,然后每組改成等值的一位八進(jìn)制數(shù)即可。
例:將(110111.11011)2轉(zhuǎn)換成八進(jìn)制數(shù)。
110 111 . 110 110
↓ ↓ ↓ ↓ ↓
6 7 . 6 6
結(jié)果為:(110111.11011)2=(67.66)8
(1)二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)
二進(jìn)制數(shù)轉(zhuǎn)換成十六進(jìn)制數(shù)的轉(zhuǎn)換原則是“四位并一位”,即以小數(shù)點(diǎn)為界,整數(shù)部分從右向左每4位為一組,若zui后一組不足4位,則在zui高位前面添0補(bǔ)足4位,然后從左邊第yi組起,將每組中的二進(jìn)制數(shù)按權(quán)數(shù)相加得到對(duì)應(yīng)的十六進(jìn)制數(shù),并依次寫(xiě)出即可;小數(shù)部分從左向右每4位為一組,zui后一組不足4位時(shí),尾部用0補(bǔ)足4位,然后按順序?qū)懗雒拷M二進(jìn)制數(shù)對(duì)應(yīng)的十六進(jìn)制數(shù)。
例:將(1111101100.0001101)2轉(zhuǎn)換成十六進(jìn)制數(shù)。
0011 1110 1100 . 0001 1010
↓ ↓ ↓ ↓ ↓ ↓
3 E C . 1 A
結(jié)果為:(1111101100.0001101)2=(3EC.1A)16
(2)十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)
十六進(jìn)制數(shù)轉(zhuǎn)換成二進(jìn)制數(shù)的轉(zhuǎn)換原則是“一位拆四位”,即把1位十六進(jìn)制數(shù)寫(xiě)成對(duì)應(yīng)的4位二進(jìn)制數(shù),然后按順序連接即可。
例:將(C41.BA7)16轉(zhuǎn)換為二進(jìn)制數(shù)。
C 4 1 . B A 7
↓ ↓ ↓ ↓ ↓ ↓ ↓
1100 0100 0001 . 1011 1010 0111
結(jié)果為:(C41.BA7)16=(110001000001.101110100111)2
在程序設(shè)計(jì)中,為了區(qū)分不同進(jìn)制,常在數(shù)字后加一英文字母作為后綴以示區(qū)別。
l 十進(jìn)制數(shù),在數(shù)字后面加字母D或不加字母也可以,如6659D或6659。
l 二進(jìn)制數(shù),在數(shù)字后面加字母B,如1101101B。
l 八進(jìn)制數(shù),在數(shù)字后面加字母O,如1275O。
l 十六進(jìn)制數(shù),在數(shù)字后面加字母H,如CFE7BH。
二進(jìn)制數(shù)的運(yùn)算包括算術(shù)運(yùn)算和邏輯運(yùn)算。
二進(jìn)制數(shù)的算術(shù)運(yùn)算包括加法、減法、乘法和除法運(yùn)算。
(1)二進(jìn)制數(shù)的加法運(yùn)算
二進(jìn)制數(shù)的加法運(yùn)算法則是:0+0=0,0+1=1+0=1,1+1=10(向高位進(jìn)位)。
例:求(101101.10001)2+(1011.11001)2的值。
解: 1 0 1 1 0 1 . 1 0 0 0 1
+ 1 0 1 1 . 1 1 0 0 1
1 1 1 0 0 1 . 0 1 0 1 1
結(jié)果為:(101101.10001)2+(1011.11001)2 =(111001.01011)2
總結(jié):從以上加法的過(guò)程可知,當(dāng)兩個(gè)二進(jìn)制數(shù)相加時(shí),每一位是3個(gè)數(shù)相加,對(duì)本位則是把被加數(shù)、加數(shù)和來(lái)自低位的進(jìn)位相加(進(jìn)位可能是0,也可能是1)。
(2)二進(jìn)制數(shù)的減法運(yùn)算
二進(jìn)制數(shù)的減法運(yùn)算法則是:0-0=1-1=0,1-0=1,0-1=1(借1當(dāng)二)。
例:求(110000.11)2-(001011.01)2的值。
解: 1 1 0 0 0 0 . 1 1
- 0 0 1 0 1 1 . 0 1
1 0 0 1 0 1 . 1 0
結(jié)果為:(110000.11)2-(001011.01)2=(100101.10)2
總結(jié):從以上運(yùn)算過(guò)程可知,當(dāng)兩數(shù)相減時(shí),有的位會(huì)發(fā)生不夠減的情況,要向相鄰的高位借1當(dāng)2。所以,在做減法時(shí),除了每位相減外,還要考慮借位情況,實(shí)際上每位有3個(gè)數(shù)參加運(yùn)算。
(3)二進(jìn)制數(shù)的乘法運(yùn)算
二進(jìn)制數(shù)的乘法運(yùn)算法則是:0×0=0,0×1=1×0=0,1×1=1。
例:求(1010)2×(1011)2的值。
解: 1 0 1 0
× 1 0 1 1
1 0 1 0
1 0 1 0
0 0 0 0
+ 1 0 1 0
1 1 0 1 1 1 0
結(jié)果為:(1010)2×(1011)2=(1101110)2
總結(jié):由以上運(yùn)算過(guò)程可知,當(dāng)兩數(shù)相乘時(shí),每個(gè)部分積都取決于乘數(shù)。乘數(shù)的相應(yīng)位為1時(shí),該次的部分積等于被乘數(shù);為0時(shí),部分積為0。每次的部分積依次左移一位,將各部分積累起來(lái),就得到了zui終結(jié)果。
(4)二進(jìn)制數(shù)的除法運(yùn)算
二進(jìn)制數(shù)除法運(yùn)算規(guī)則是:0÷0=0,0÷1=0(1÷0無(wú)意義),1÷1=1。
例:求(111101)2÷(1100)2的值。
解: 1 0 1
1100√ 1 1 1 1 0 1
- 1 1 0 0
1 1 0 1
- 1 1 0 0
1
結(jié)果為:商為101,余數(shù)為1。
總結(jié):在計(jì)算機(jī)內(nèi)部,二進(jìn)制的加法是基本運(yùn)算,利用加法可以實(shí)現(xiàn)二進(jìn)制數(shù)的減法、乘法和除法運(yùn)算。在計(jì)算機(jī)的運(yùn)算過(guò)程中,應(yīng)用了“補(bǔ)碼”進(jìn)行運(yùn)算。
在計(jì)算機(jī)中,除了能表示正負(fù)、大小的“數(shù)量數(shù)”以及相應(yīng)的加、減、乘、除等基本算術(shù)運(yùn)算外,還能表示事物邏輯判斷,即“真”、“假”、“是”、“非”等“邏輯數(shù)”的運(yùn)算。能表示這種數(shù)的變量稱(chēng)為邏輯變量。在邏輯運(yùn)算中,都是用“1”或“0”來(lái)表示“真”或“假”,由此可見(jiàn),邏輯運(yùn)算是以二進(jìn)制數(shù)為基礎(chǔ)的。
計(jì)算機(jī)的邏輯運(yùn)算區(qū)別于算術(shù)運(yùn)算的主要特點(diǎn)是:邏輯運(yùn)算是按位進(jìn)行的,位與位之間不像加減運(yùn)算那么有進(jìn)位或借位的關(guān)系。
邏輯運(yùn)算主要包括的運(yùn)算有:邏輯加法(又稱(chēng)“或”運(yùn)算)、邏輯乘法(又稱(chēng)“與”運(yùn)算)和邏輯“非”運(yùn)算。此外,還有“異或”運(yùn)算。
(1)邏輯與運(yùn)算(乘法運(yùn)算)
邏輯與運(yùn)算常用符號(hào)“×”、“∧”或“&”來(lái)表示。如果A、B、C為邏輯變量,則A和B的邏輯與可表示成A×B=C、A∧B=C或A&B=C,讀作“A與B等于C”。一位二進(jìn)制數(shù)的邏輯與運(yùn)算規(guī)則如表1-2所示。
表1-2 與運(yùn)算規(guī)則
A |
B |
A∧B(C) |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
由表1-2可知,邏輯與運(yùn)算表示只有當(dāng)參與運(yùn)算的邏輯變量都取值為1時(shí),其邏輯乘積才等于1,即一假必假,兩真才真。
這種邏輯與運(yùn)算在實(shí)際生活中有許多應(yīng)用,例如,計(jì)算機(jī)的電源要想接通,必須把實(shí)驗(yàn)室的電源總閘、USP電源開(kāi)關(guān)以及計(jì)算機(jī)機(jī)箱的電源開(kāi)關(guān)都接通才行。這些開(kāi)關(guān)是串在一起的,它們按照“與”邏輯接通。為了書(shū)寫(xiě)方便,邏輯與運(yùn)算的符號(hào)可以略去不寫(xiě)(在不致混淆的情況下),即A×B=A∧B=AB。
例:設(shè)A=1110011,B=1010101,求A∧B。
解:
1 1 1 0 0 1 1
∧ 1 0 1 0 1 0 1
1 0 1 0 0 0 1
結(jié)果為:A∧B=1010001。
(2)邏輯或運(yùn)算(加法運(yùn)算)
邏輯或運(yùn)算通常用符號(hào)“+”或“ ”來(lái)表示。如果A、B、C為邏輯變量,則A和B的邏輯或可表示成A+B=C或A B=C,讀作“A或B等于C”。其運(yùn)算規(guī)則如表1-3 所示。
表1-3 或運(yùn)算規(guī)則
A |
B |
A V B(C) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
1 |
由表1-3可知,邏輯或運(yùn)算是:在給定的邏輯變量中,A或B只要有一個(gè)為1,其邏輯或的值為1;只有當(dāng)兩者都為0,邏輯或才為0。即一真必真,兩假才假。
這種邏輯或運(yùn)算在實(shí)際生活中有許多應(yīng)用,例如,房間里有一盞燈,裝了兩個(gè)開(kāi)關(guān),這兩個(gè)開(kāi)關(guān)是并聯(lián)的。顯然,任何一個(gè)開(kāi)關(guān)接通或兩個(gè)開(kāi)關(guān)同時(shí)接通,電燈都會(huì)亮。
例:設(shè)A=11001110,B=10011011,求A B。
解: 1 1 0 0 1 1 1 0
+ 1 0 0 1 1 0 1 1
1 1 0 1 1 1 1 1
結(jié)果為:A B=11011111。
(3)邏輯非運(yùn)算(邏輯否定、邏輯求反)
設(shè)A為邏輯變量,則A的邏輯非運(yùn)算記作 。邏輯非運(yùn)算的規(guī)則為:如果不是0,則惟一的可能性就是1;反之亦然。邏輯非運(yùn)算的真值表如表1-4所示。
表1-4 非運(yùn)算規(guī)則
A |
|
0 |
1 |
1 |
0 |
例如,室內(nèi)的電燈,不是亮,就是滅,只有兩種可能性。
例:設(shè)A=111011001,B=110111101,求 、 。
解: =000100110, =001000010。
(4)邏輯異或運(yùn)算(半加運(yùn)算)
邏輯異或運(yùn)算符為“ ”。如果A、B、C為邏輯變量,則A和B的邏輯異或可表示成A B=C,讀作“A異或B等于C”。邏輯異或的運(yùn)算規(guī)則如表1-5所示。
表1-5 邏輯異或的運(yùn)算規(guī)則
A |
B |
A B(C) |
0 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
1 |
1 |
1 |
0 |
由表1-5可知,在給定的兩個(gè)邏輯變量中,只有兩個(gè)邏輯變量取值相同,異或運(yùn)算的結(jié)果就為0;只有相異時(shí),結(jié)果才為1。即一樣時(shí)為0,不一樣才為1。
例:設(shè)A=11010011,B=10110111,求A B。
解: 1 1 0 1 0 0 1 1
1 0 1 1 0 1 1 1
0 1 1 0 0 1 0 0
結(jié)果為:A B=01100100。
當(dāng)兩個(gè)變量之間進(jìn)行邏輯運(yùn)算時(shí),只在對(duì)應(yīng)位之間按上述規(guī)律進(jìn)行邏輯運(yùn)算,不同位之間沒(méi)有任何關(guān)系,當(dāng)然,也就不存在算術(shù)運(yùn)算中的進(jìn)位或借位問(wèn)題。
尚邦公考
微信號(hào):dxgwyedu
讓學(xué)員帶著“?”來(lái),帶著“!”踏上成“公”之路