數字系統及數字系統的轉換
1.電腦常用數字系統
- 十進位制(decimal number system):十進位制是一種滿10進位,基底為十的數字系統,由0、1、2、3、4、5、6、7、8、9等十個數字組成,為日常生活中普遍使用的數制。例127810,其基底通常被省略,亦即1278。
- 二進位制(Binary number system):二進位制是一種滿2進位,基底為二的數字系統,由0和1兩個數字所組成,為電腦最基本的數字系統。通常表示時會在數字前加一"B"以便於識別,例B1101或1102。
- 八進位制(octal number system):八進位制為逢8進位的數字系統,由0、1、2、3、4、5、6、7所組成,通常於數字前加"&"或"&O"字母符號識別,例如&O467或4568。
- 十六進位制(hexadecimal number system):十六進位制為逢16進位的數字系統,由0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F所組成,其中A表十進位的10,B表 11,依次類推,其識別方式是於數前加"&H",例如&H123C,&HA28。或123C16。
表一 各數字系統對照表
2.數字系統的轉換
(1) 十進位數轉換成二進位數方法:
- 整數部份:將十進位整數連除以2,直到商數為0,再從下往上依次取出餘數。
- 小數部份:將十進位小數連乘以2,直到適當位數為止,從上往下依序取其整數
【例】43.62510 = 2。
解:(a)整數部份方法:將2進位每一位數分別乘以其位值, 再把結果加起來即可。
【例】 101011.1012= 10
解:二進位數各位值如下:3.二進位數的邏輯運算
邏輯運算是數學家布林(Boolean)根據數位邏輯閘所發展出來的,茲擇要列表如下:
表二 邏輯符號及相關說明
4.二進位數的算術運算
二進位數的算術運算以加、減、乘、除的四則運算,它的作法和十進位相近,只是二進位數在加法時滿2進1,在減法時借1當作2,其餘相同,列表如下:5.補數的運算
接著,從邏輯電路的觀念來了解一下電路是如何進行相加的。首先寫出「被加數+加數=和、進位」的真值表如下圖(a)所示,其中和的真值表是XOR閘的關係,進位則是AND的關係,進而劃出電路圖如下圖(c)所示。被加數A | 加數B | 和S | 進位C |
0 | 0 | 0 | 0 |
0 | 1 | 1 | 0 |
1 | 0 | 1 | 0 |
1 | 1 | 0 | 1 |
(a)真值表
此圖是一個最基本的加法電路,必須要有兩個這種電路才能執行一個完全的加法(包括上一個的進位也必須加進來),在電腦內為了簡化電路,因此是以加法器為基本運算單元,減法時以加補數方式進行,乘法則是連加、除法是連加補數,都是以加法方式完成的,何謂補數呢?補數又如何來完成減法呢?所謂補數(Complement)是指兩個數字加起來等於某數時,則稱該二數互為某數的補數;例如3的10補數為7,同理7的10補數為3。而補數有助減法運算用加法器來執行。例如4的十進位補數為6,故:
(1) 1的補數系統(1's Complement):1補數系統是指兩數之和為1,則此兩數互為1的補數,亦即0和1互為1的補數。換言之,欲求得二進位數的1補數,只需將0變成1,1變成0即可;例如10102 的1補數為01012。
(2) 2的補數系統(2's Complement):2補數系統的求法是先取該數的1補數,再加1即可,如下例:
【例】求0100之2補數
解:
- 取減數的2補數。
- 和被減數相加。
- 相加後會產生有無溢位問題,再分別處理:
- 若沒有溢位,表示其結果為負值,再取此結果的2補數,才能得到正確的答案。
- 若發生溢位,表示其結果為正值,則將此溢位捨棄,即得正確的答案。
【例】以2補數求1101-0100 = 2
解:
沒有留言:
張貼留言