計算機概論 Computer Concepts - 臺北市立建國高級中學
Bebas
5
0
0
Teks penuh
(2) CK6126 康秩群. 補數 補數有兩種形式:r 補數(r’s complement)和 r-1 補數(r-1’s complement),r 就是數字系統的 基底。例如二進位系統中有 2 補數和 1 補數;十進位系統中則有 10 補數和 9 補數。. 1. r-1 補數 對於具有 n 個位元且基底為 r 的數字 N,則 N 之 r - 1 補數的定義為( rn - 1 ) - N。 簡單來說,十進位裡的 9 補數,就是那個數字有幾位數,便拿幾個 9(即 10-1)來減它; 而在二進位裡的 1 補數,一樣是看那個數字有幾位數,就拿幾個 1(即 2-1)來減它。例如: (0987) 10 的 9 補數為 9999 - 0987 = (9012)10 (1010)2 的 1 補數為 1111 - 1010 = (0101)2 在二進位中的運算尤其簡單,只要 01 互換即可。(0 要留著,之後的運算可能會用到). 2. r 補數 對於具有 n 個位元且基底為 r 的數字 N,則當 N≠0 時,N 之 r 補數的定義為 r n - N。 當 N=0 時,r 補數為 0。 r 補數其實就是拿「1 後面跟著 n 個 0」減掉原本的數。同時我們也注意到,r 補數可 以由 r-1 補數加 1 後得到,因為 r n - N = ( rn – 1 ) – N + 1,這樣的運算會比較方便。例如: (0987) 10 的 10 補數為 10000 - 0987 = 9999 – 0987 + 1 = (9013) 10 (1010)2 的 2 補數為 10000 - 1010 = 1111 – 1010 + 1 = (0110)2. 3.用補數進行減法 現在想像有一個時鐘,上面只有一根指針, 而數字只有 0~9(大概長得像右邊那個怪鐘......), 把指針從 0 開始,逆時針撥 3 個數字,發現停在 7;此時回想一下,3 的 10 補數是多少? 什麼? 剛好就是 7? 在這個鐘上,減 3 和加 7 是一樣的。利用這點,就可以「用加法來做減法」啦! 通常我們會使用 r 補數來做加法取代減法,但有一點要注意,由於我們是在進位系 統下作運算,並不是永無止盡地繞。因此,用補數做減法時會多繞一圈,計算完成後要 把多餘的那圈砍掉。這個動作說難不難,首先,如果爆出進位,將那個末進位砍掉即可。 例如:. (22612)2 – (13579)2 22612 加上 13579 的 10 補數: + 86421 和: 109033 去掉末進位: - 100000 09033. (11001)2 – (10010)2. 加上 10010 的 2 補數: 和: 去掉末進位:. 11001 + 01110 100111 - 100000 00111. 97 建中資訊科校內培訓講義-計算機概論-2.
(3) CK6126 康秩群. 如果沒有爆出進位,則將結果取補數並加上負號即可。例如:. (13579)2 – (22612)2. 加上 22612 的 10 補數: 和:. +. (10010)2 – (11001)2 13579 77388 90967. 答案是 - (90967 的 10 補數) = - 09033. 加上 11001 的 2 補數: 和:. 10010 + 00111 11001. 答案是 - (11001 的 2 補數) = - 00111. 4.二進位有號數(signed number) 到目前為止,我們還停留在無號數(unsigned number),也就是全都是正整數的世界裡。 而一般的算術中,都將負數用一個負號表示,正數則用正號表示(通常省略)。但由於 硬體的限制,電腦必須使用二進位位元來表示所有的事情。習慣上,我們利用數字最左 邊的位元來表示符號,0 代表正數,1 代表負數。 這時我們又發現了一個問題,一串位元 11000,到底是 24 還是 -8 呢?通常,我們要 事先知道該數字的形式,才不會造成這種問題。 二進位有號數的表示法分為有號大小表示 法(signed- magnitude)和有號補數表示法 (signed-complement)。 有號大小表示法就是直接將正數最左邊的 位元換成 1 來表示相同絕對值的負數,例如: 用三個位元來儲存時,+3 是 011,-3 就是 111。 這種方法適合一般人類的算術,但在電腦 上做運算時,必須將符號和量値分開處理,較 為不方便。. 表.1-1 各種二進位有號數對照表(三個位元) 有號 2 補數 有號 1 補數 有號大小 十進位 表示法 表示法 表示法 +3 011 011 011 +2 010 010 010 +1 001 001 001 +0 000 000 000 -0 111 100 -1 111 110 101 -2 110 101 110 -3 101 100 111 -4 100 -. 因此,在電腦上使用有號補數的系統,就是將正數取補數以得到負數,可以是 1 補 數或 2 補數,但 2 補數較為通用。例如:用三個位元來儲存時,+3 是 011,其 2 補數為 101,則 101 在有號 2 補數系統中就代表-3。 而先前講到用補數進行減法時,如果沒有爆出進位,則將結果取補數並加上負號, 但看看表.1-1 中有號 2 補數表示法和十進位的對照,可以發現一開始所得到的結果在 2 補數表示法中其實就是最後答案了。 練習題: 1.十六進位碼之 2B,其 2 的補數以二進位碼表示為. 。. 【95 軟設】. 2.假設某電腦系統以八位元表示一個整數,則以 2 的補數法表示十進位數(-35)10 的結果為何? (A)(0000 1111)2 (B)(1011 0010)2 (C)(1101 1101)2 (D)(1110 0011)2。. 【97 統測-商業語文】. 答案:1. 11010101 2.(C). 97 建中資訊科校內培訓講義-計算機概論-2.
(4) CK6126 康秩群. 布林代數 布林代數是一種在電子電路上邏輯演算的依據。電子電路設計師可以藉由對布林代數的 邏輯分析,來製作許許多多不同功能的積體電路。(喬治•布林(George Boolean)在 1854 年所發 表的論文中訂定了此代數最基本的運算規則,為了紀念布林,便以此作為代數名稱。) 就像其他代數一樣,布林代數也是被用在變數運算上。這樣一來,所有的變數運算都會 變成有邏輯性的。任何一個變數值都是 1(True)或 0(False)。. 1.基本邏輯運算 最基本的邏輯運算就是 AND、OR 和 NOT,可用以下方式來表示(中間較為常用): A AND B = A•B = A∧B A OR B = A+B = A∨B NOT A = A' = A = ¬A 若在 AND 中的兩個變數都為 1,則 AND 所產生的結果為 1。 若在 OR 中的兩個變數有一個以上為 1,則 OR 後的結果即為 1。 而在 NOT 中所得的結果就是原本變數的相反(1→0,0→1) 。 有幾點是需要注意的。在計算布林代數式時,各種運算子的優先順序為: (1)括號 (2)NOT (3)AND (4)OR 此外,AND(•)的符號也可省略,改用 2 個串聯在一起的變數代替。於是: A•B = AB NAND 的功能是兩個變數「不同時為 1」時,結果為 1,即把 AND 的結果相反。 A NAND B = NOT(A AND B)=(AB)' NOR 也一樣,是把 OR 出來的結果相反,即兩個變數「皆不為 1」時,結果方為 1。 A NOR B = NOT (A OR B)= (A+B)' XOR(exclusive-or)則是當兩個運算子「恰有一個為 1」時,結果為 1。其符號為⊕。 A XOR B = AB’ + A’B = A ⊕ B 表 1 定義了基本的邏輯運算規則,稱為真值表(True Table),其中可能組成運算式的 值都可以用表中的規則求出。下頁圖則列出了上述運算的邏輯閘形式。 A 0 0 1 1. B 0 1 0 1. NOT A 1 1 0 0. 表 1 基本邏輯運算真值表 A AND B A OR B A NAND B 0 0 1 0 1 1 0 1 1 1 1 0. A NOR B 1 0 0 0. A XOR B 0 1 1 0. 練習題: 1.邏輯運算子的優先次序為. 【教育廳抽測題庫】. (A)AND>NOT>OR (B)NOT.>AND>OR (C)OR>AND>NOT (D)任意皆可,並無限制。 2.若 X=0100, Y=0101,則(X) XOR (Y)運算的結果是?(A)0001 (B)0101 (C)0100 (D)1110 【91 軟設】 答案:1.(B) 2.(A) 97 建中資訊科校內培訓講義-計算機概論-2.
(5) CK6126 康秩群. 2.基本定理 表 2 和 3 總結了布林代數中的重要定義。 表中包括兩個層級的定 義。基本假設是不需要證明 的;其他定理則可由基本規則 利用窮舉法推導而來。 其中有個分配律在平常 的代數中毫無意義,但在布林. 結合律 交換律 分配律 迪摩根 消去. 代數中卻是非常重要的: A+(B•C)=(A+B)•(A+C). 表 3 布林代數的基本定理 A•1 = A A+ 0 =A A•0 = 0 A+ 1 =A A•A = A A+A=A A•A’ = 0 A + A’ = 1 A•(B•C)=(A•B) •C A+(B+C)=(A+B)+C A•B= B•A A+B=B+A A•(B+C)=(A•B)+(A•C) A+(B•C)=(A+B) •(A+C) ( A•B )’ = A’ + B’ ( A + B )’ = A’•B’ A•(A + B) = A A + A•B = A. 大家可以經由實際代入 A、 B、C 的值(1 或 0)去驗證表 3 中 的定理是否正確。. 表 2 布林代數的基本假設 0+0=0 1+0=1 0+1=1 1+1=1. 0•0 = 0 1•0 = 0 0•1 = 0 1•1 = 1. 練習題: 1. 依 DeMorgan(迪摩根)邏輯轉換理論, 兩個反相器與一個 AND 閘可以組成 Two-input 的. 【91 軟設】. (A)NOR (B)XOR (C)XNOR (D)OR 閘。 2. 下圖所示邏輯符號功能相當於 (A) OR(B) AND (C) XOR (D) XNOR。. 【93 軟設】 答案:1.(A) 2.(C). ※我絕對不會說這份講義是拿社課講義改造出來的. 97 建中資訊科校內培訓講義-計算機概論-2.
(6)
Dokumen terkait
ppm 是濃度計算單位,表示百萬分之一。食品衛生標準中規定,除了茶、咖啡及可可類之外的飲料, 飲料中咖啡因含量不可超過 200ppm。其中 200ppm 可以表示成___________。以科學記號表示.. 老師將鉛筆 128 枝、橡皮擦 89
ppm 是濃度計算單位,表示百萬分之一。食品衛生標準中規定,除了茶、咖啡及可可類之外的飲料, 飲料中咖啡因含量不可超過 200ppm。其中 200ppm 可以表示成___________。以科學記號表示.. 老師將鉛筆 128 枝、橡皮擦 89