You are on page 1of 34

第一 章

二進位系統
1-2 數字 系統

基底為 r 的數字系統
an ⋅ r n + an−1 ⋅ r n−1 + .... + a2 ⋅ r 2 + a1 ⋅ r1 + a0

+ a−1 ⋅ r −1 + a−2 ⋅ r −2 + .... + a−m ⋅ r −m

EX:
(4021.2)5 = 4 × 53 + 0 × 52 + 2 × 51 + 1× 50 + 2 × 5−1 = (511.4)10

(110101) = 1× 25 + 1× 2 4 + 0 × 23 + 1× 2 2 + 0 × 21 + 1× 21
= 32 + 16 + 4 + 1 = (53)10
1-3 數字基底的轉換 ( 十進數整數
部分 )

十進位整數部分轉換為以 r 為基底之數
字N10 = (an an−1.....a2 a1a0 ) r
= an r n + an−1r n−1 + .... + a2 r 2 + a1r1 + a0 r 0

N
= an r n−1 + an−1r n−2 + .... + a2 r1 + a1 = Q1
利用除法 a0
r
餘數
Q1
= an r n−2 + an−1r n−3 + .... + a2 = Q2 a1
r
餘數
數字基底的轉換 ( 十進數整數部分
)

Q2
= an r n−3 + an−1r n−4 + .... + a3 = Q3 餘數a2
r
……
直到商數為 0 為止‚而每次除法後所得
的餘數即為以 r 為基底數字的係數 .
數字基 底的 轉換 範例

EX: 十進數 41 轉換成二進數


整數
商 餘數 係數
41/2 = 20 + 1/2 a0 = 1
20/2 = 10 + 0 a1 = 0
10/2 = 5 + 0 a2 = 0
5/2 = 2 + 1/2 a3 = 1
2/2 = 1 + 0 a4 = 0
1/2 = 0 + 1/2 a5 = 1
解答為 (41)10 = (a5a4 a3a2 a1a0 ) 2 = (101001) 2
數字基底的轉換 ( 十進數小數部分
)

十進位小數部分轉換為以 r 為基底之數

F10 = (0.a−1a−2 .....a−m ) r
= a−1r −1 + a−2 r −2 + .... + a−m r −m

利用乘法
rF = a−1 + a−2 r −1 + a−3r −2 + .... + a−m r −m+1 = a−1 + P1

rP1 = a−2 + a−3r −1 + a−4 r −2 + .... + a−m r −m+ 2 = a−2 + P2


數字基底的轉換 ( 十進數小數部分
)

rP2 = a−3 + a−4 r −1 + a−5 r −2 + .... + a−m r −m+3 = a−3 + P3


……
直到沒有小數部份或所要求位元數為止
, 而乘積後所得整數部分即為以 r 為基
底數字的係數 .
數字基 底的 轉換 範例

EX: 轉換 (0.6875)10 為二進數


整數 小數 係數
0.6875x2= 1 + 0.3750 a−1 = 1
0.3750x2= 0 + 0.7500 a− 2 = 0
0.7500x2= 1 + 0.5000 a −3 = 1
0.5000x2= 1 + 0.0000 a− 4 = 1
解答為 (0.6875)10 = (0.a−1a−2 a−3a−4 ) 2 = (0.1011) 2
1-4 八進 位及十 六進 位數字

二進數轉換成八進數或十六進數
EX:
(10 110 001 101 011 ⋅ 111 100 000 110) 2
= (26153.7406)8

(10 1100 0110 1011 ⋅ 1111 0010) 2


= (2C 6 B.F 2)16
八進位 及十 六進 位數字

八進數或十六進數轉換成二進數
EX:
(673.124)8 = (110 111 011 ⋅ 001 010 100) 2

(306.D)16 = (0011 0000 0110 ⋅ 1101) 2


不同數 字基 底之 間的轉 換

二進數 十六進
八進數

以r為基底 十進數
的數字
1-5 補數

 r − 1 的補數
對於具有 n 個位元且基底為 r 的數字
N ,則rN− 1之 的補數定義為
n
(r − 1) − N
EX:
546700 之 9 的補數為 999999-546700=453299
012398 之 9 的補數為 999999-012398=987601
0101101 之 1 的補數為 1010010
補數

 r 的補數
對於具有 n 個位元且基底為 r 的數字
N ,則rN 之 的補數定義為
 0 , if N =0 
 n 
r − N , if N ≠0 
EX:
012398 之 10 的補數為 987602
0110111 之 2 的補數為 1001001
補數的 減法

 兩個 n 位元且基底為 r 的無號數 M-N 的減法


:
1 、將被減數M M 與減數
+ (r n − NN)之
=Mr 的補數相加。
− N + rn
也就是說 n
M ≥N r

r n M −N
2 、若M <N ,則和會產生一個末進位

rn − (N − M ) (N − M )
則去掉末進位 剩下的就是

3 、若 ,則和不會產生末進位,結果

補數的 減法

EX: 利用 10 的補數法求 72532-3250


M= 72532
N 之 10 的補數 = + 96750
和= 169282
去掉末進位 105 = -100000
答案 = 69282
1-6 二進 位有號 數

有號數
01001 11001

符號 數字 符號 數字
+9 -9
無號數
11001

數字
25
1-7 常見 之 二 進數碼

BCD 碼
葛雷碼
超 3 碼
2421 加權碼
84-2-1 加權碼
ASCII 字元碼
BCD 加法

4 0100 4 0100 8
1000
+5 +0101 +8 +1000 +9
+1001
9 1001 12 1100 17
10001
+0110
+0110
10010
1-9 二進 位邏輯

 三個基本的邏輯運算
AND 、 OR 、 NOT 。
1 、 AND:x ⋅ y = z , z=1 充要條件是 x=1 且
y=1 ;
否則x +z=0
y=。 z
2 、 OR: ,若 x=1 或 y=1 或同時
x=1 且 xy=1
′ = z或 x = z
則 z=1 ;如果同時 x=0 且 y=0 則
z=0 。
3 、 NOT: ,如果 x=0 則
z=1 ;
二進位 邏輯

真值表
AND OR NOT
x y x⋅ y x y x+ y x x′
0 0 0 0 0 0 0 1
0 1 0 0 1 1 1 0
1 0 0 1 0 1
1 1 1 1 1 1
邏輯閘

x
z = x⋅ y
y
2- 輸入 AND 閘

x z = x+ y
y
2- 輸入 OR 閘

x x′

NOT 閘或反相器