Các phép tắnh C&ng, TrX, Nhân, Chia cũng ựưKc sG dCng trong sP hMc Nh' phân, vi c tắnh toán cC th ựưKc th`c hi n theo quy tec sau:
3.4.1. Phép cCng hai s nh) phân không dEu:
C&ng nh' phân ựưKc th`c hi n theo quy tec D b!ng 3.4 Chú ý:
i Khi c&ng, th`c hi n tX bit có trMng sP th0p ự n bit cú trMng sP cao.
i N u có sP nh; thì sP nh; sinh ra ựưKc c&ng vào bit cú trMng sP cao hơn li_n k_
SJ H\NG 1 SJ H\NG 2 T]NG SJ NH^ KGT QU_
0 0 0 0 0
0 1 1 0 1
1 0 1 0 1
1 1 0 1 10
B!ng 3.4. Quy tec C&ng Nh' phân cho 2 sP 1 bit. Vắ d': Th`c hi n các phép C&ng Nh' phân:
1011 +1100 10111
3.4.2. Phép tr: hai s nh) phân không dEu:
Phép trX nh' phân ựưKc th`c hi n theo quy tec trình bày D B!ng 3.5
SJ B` TRa SJ TRa HIEU SJ SJ VAY
0 0 0 0
0 1 1 1
1 0 1 0
1 1 0 0
B!ng 3.5. Quy tec trX Nh' phân cho 2 sP 1 bit. Chú ý:
i Phép tắnh ựưKc th`c hi n tX Bit có trMng sP th0p ự n Bit có trMng sP cao.
i SP vay s[ ựưKc trX vào Bit có trMng sP cao hơn D li_n k_.
Vắ d': Th`c hi n các tắnh TrX Nh' phân sau: 1011
Chương III: Bi u di n d li u
i0110 0101
Tuy nhiên trong th`c t , máy tắnh không tắnh toán ki u ựó mà chuy n ựYi phép trX thành phép c&ng v;i s bù 2 cBa nó. Phương pháp này trong máy tắnh ựưKc cho là hi u qu! hơn và dJ dàng thi t k phSn c.ng cho nó hơn. SP bù có hai lo%i thư ng dùng là sP bù 1 và sP bù 2.
3.4.3. Phép nhân và chia hai s nh) phân không dEu:
Phép nhân nh' phân ựưKc th`c hi n như nhân thQp phân. Vắ dC: Có phép tắnh: 1001 nhân v;i 1101 Ta th`c hi n: 1001(SP b' nhâniMultiplicant) x 1101(SP nhâniMultiplier ) 1001 0000 + 1001 1001 K t qu! là: 1110101
Phép chia nh' phân ựưKc th`c hi n như chia thQp phân. Vắ dC: Có phép tắnh: 1110101 chia cho 1001 Ta th c hi n: 1110101 : 1001 i 1001 1101 01011 i 1001 001001 1001 0000 K t qu!: 1111010 : 1001 = 1101 Chương III: Bi u di n d li u
3.4.4. Bi0u diIn s nguyên có dEu
Có ba cách ự bi u diJn m&t sP nguyên n bit có d0u ựó là bi u diJn bLng tr' tuy t ựPi và d0u, bi u diJn bLng sP bù 1, bi u diJn bLng sP bù 2.
Cách thông thư ng nh0t là bi u diJn bLng tr' tuy t ựPi và d0u, trong trư ng hKp này thì bit cao nh0t luôn tưKng trưng cho d0u.
Khi ựó, bit d0u có giá tr' là 0 thì sP ựó là nguyên dương, bit d0u có giá tr' là 1 thì sP ựó là nguyên âm. Tuy nhiên, cách bi u diJn d0u này không ựúng trong trư ng hKp sP ựưKc bi u diJn bLng sP thXa K mà ta s[ xét D phSn sau trong chương này.
SP nguyên có bit dni1 là bit d0u và có tr' tuy t ựPi bi u diJn bDi các bit tX d0 t;i dni2 .
Vắ dC: dùng 8 bit bi u diJn sP +25 và i25 dư;i d%ng d0u và tr' tuy t ựPi.
Ta bi t 2510 = 110012. Dùng 8 bit ự bi u diJn sP, như vQy 1 bit bi u diJn d0u, còn 7 bits bi u diJn giá tr' cBa sP ựó.
VQy +25 = 0 0011001 Bit d0u
VQy i25 = 1 0011001 Bit d0u
Như vQy, theo cách này thì: +2510 = 000110012 i2510 = 100110012
i M&t Byte (8 bit) có th bi u diJn các sP có d0u tX i127 t;i +127. i Có hai cách bi u diJn sP không là 0000 0000 (+0) và 1000 0000 (i0).
Hai cách bi u diJn còn l%i ta s[ xem xét trong phSn ti p dư;i ựây.
3.4.5. S bù cLa mCt s
SP bù ựưKc dùng trong máy tắnh sP giúp ựơn gi!n phép toán trX và các thao tác logic. Trong h cơ sP (h ự m) r có hai d%ng sP bù: SP bù r và sP bù (ri1). Như vQy trong h 10 s[ có bù 10 và bù 9, trong h 8 có bù 8 và bù 7, trong h 16 có bù 16 và bù 15, trong h 2 có bù 2 và bù 1.
S* bù r31 cha mit s*:
Gi! sG N là m&t sP có n ký sP trong h thPng sP r thì bù r 1 cBa N = (rn Ờ 1) Ờ N.
Vắ dC ựPi v;i h thQp phân ta có bù r 1 = bù 9 cBa sP thQp phân N là (10n 1) Ờ N. Trong ựó 10n là m&t sP ghm sP 1 và theo sau là n cha sP 0 (vắ dC 104 = 10000). VQy (10ni1) là ghm n sP 9 (vắ dC 104 i1 = 9999). VQy bù 9 cBa N là m&t con sP nhQn ựưKc bLng cách l0y trX 9 cho tXng ký sP cBa N.
Vắ dC:
Bù 9 cBa 43520 là 99999 Ờ 43520 = 56479 S* bù r cha mit s*:
SP bù r cBa m&t sP ựưKc tắnh bLng bù r 1 c&ng v;i 1. Như vQy bù 10 cBa 43520 là 56478 + 1 = 56480. TX ựây ta có th tắnh nhanh bù 10 theo qui tec:
i Gia nguyên các ký sP 0 bên ph!i cho ự n khi gRp ký sP khác 0
i L0y 10 trX ựi ký sP ựSu tiên khác 0 ựó i L0y 9 trX ựi các sP còn l%i
Vắ dC: Bù 10 cBa 347200 là 652800
Chúng ta s[ chB y u làm vi c v;i h nh' phân, do máy tắnh làm vi c v;i h này. Trong h nh' phân s[ có bù 1 và bù 2 mà ta s[ xem xét sau ựây.
S* bù 1 cha mit s*:
SP bù 1 cBa m&t sP nh' phân (hay còn gMi là sP invert) là m&t sP nh' phân có ựưKc bLng cách ựYi các bit 1 thành 0 và bit 0 thành 1. Vắ dC:
SP cSn ựYi 10110101 1100110 SP bù 1 cBa nó 10001010 0011001
S* bù 2 cha mit s*: SP bù hai cBa m&t sP là sP bù 1 cBa sP ựó c&ng thêm 1. Vắ d': SP: 01001110 00110101 SP bù m&t cBa nó là: 10110001 11001010 C&ng thêm 1 +1 +1 Bù hai cBa nó là: 10110010 11001011
Quy t4c chung tìm bù hai cLa mCt s :
i MuPn tìm bù 2 cBa m&t sP ta ựi tX bit có trMng sP nhs nh0t ngưKc lên.
i Khi nào gRp ựưKc bit 1 ựSu tiên thì gia nguyên các sP 0 bên ph!i sP 1 ựó và c! sP 1 ựó naa, còn t0t c! các bắt bên trái sP 1 ựó thì ự!o l%i.
Vắ dC:
SP: 01100100 10010010 1101000 01100111 SP bù 2 là: 10011100 01101110 0011000 10011001
Sau khi ta ựã bi t v_ sP bù 1 và bù 2 cBa m&t sP nh' phân, ta xem cách bi u diJn m&t sP nguyên có d0u theo hai cách này.
Chương III: Bi u di n d li u
đPi v;i sP dương thì bi u diJn giPng d0u và tr' tuy t ựPi
đPi v;i sP âm thì ựưKc bi u diJn dư;i d%ng bit d0u và giá tr' cBa sP ựó D d%ng bù 1.
Vắ dC: Dùng 8 bit bi u diJn sP +25 và i25 dư;i d%ng bù 1.
Ta bi t 2510 = 110012. Dùng 8 bit ự bi u diJn sP, như vQy 1 bit bi u diJn d0u, còn 7 bits bi u diJn giá tr' cBa sP ựó, n u là sP âm thì l0y bù 1 các bit này.
VQy +25 = 0 0011001 Bit d0u
VQy i25 = 1 1100110 Bit d0u
Ta cũng có th hi u là sP âm ựưKc bi u diJn bLng cách l0y bù 1 cBa sP dương k c! bit d0u.
S* nguyên có dlu ựư c bi u di n m dnng bù 2 là:
đPi v;i sP dương thì bi u diJn giPng d0u và tr' tuy t ựPi
đPi v;i sP âm thì ựưKc bi u diJn dư;i d%ng bit d0u và giá tr' cBa sP ựó D d%ng bù 2.
Vắ dC: Dùng 8 bit bi u diJn sP +25 và i25 dư;i d%ng bù 2.
Ta bi t 2510 = 110012. Dùng 8 bit ự bi u diJn sP, như vQy 1 bit bi u diJn d0u, còn 7 bits bi u diJn giá tr' cBa sP ựó, n u là sP âm thì l0y bù 2 các bit này.
VQy +25 = 0 0011001 Bit d0u
VQy i25 = 1 1100111 Bit d0u
Chú ý: S dương bi0u diIn O c 3 cách là như nhau, chQ khác nhau khi ựó là s âm
Chương III: Bi u di n d li u
3.4.6. Phép cCng tr: nh) phân dùng bù 1
SP có d0u ựưKc bi u diJn bLng bù 1 theo qui tec sau:
i Bắt l;n nh0t (MSB) là bắt d0u, trong ựó 0 là sP dương và 1 là sP âm
i Các bắt còn l%i bi u diJn tr' th`c cBa sP dương hoRc tr' bù 1 cBa sP âm.
Vắ dC: Dùng 6 bit ghm c! bắt d0u ự bi u diJn sP 17 = 010001 26 = 011010 i17 = 101110 i26 = 100101
Th`c hi n phép c&ng giPng như c&ng các sP nh' phân không d0u, c&ng c! bit d0u. CSn lưu ý m&t ựi m nhs là c&ng sP nh; cBa bit l;n nh0t vào bit cuPi cùng (LSB).
Vắ dC: 13 001101 i13 110010 + + + + 11 001011 i11 110100 ____ ______ ____ ______ 24 011000 i24 100110 + 1 ______ 100111 Trong k t qu! n u bit d0u là 0 thì dãy bit sau bit d0u là giá tr' k t qu!, còn n u bit d0u là âm thì dãy bit sau bit d0u m;i là k t qu! D d%ng bù m&t. MuPn bi t giá tr' th`c cBa k t qu! ta ph!i l0y bù 1 cBa k t qu! m&t lSn naa. Như trong vắ dC trên k t qu! cBa phép c&ng th. nh0t là 011000 có bit d0u là 0, vQy giá tr' th`c cBa k t qu! là +11000 = +24. Còn phép c&ng th. hai có k t qu! là 100111 có bit d0u là 1, vQy giá tr' th`c cBa k t qu! là Ờ(bù 1 cBa 00111) = i11000 = i24.
3.4.7.Phép cCng tr: nh) phân dùng bù 2
SP có d0u ựưKc bi u diJn bLng bù 2 theo qui tec sau:
i Bắt l;n nh0t (MSB) là bắt d0u, trong ựó 0 là sP dương và 1 là sP âm
i Các bắt còn l%i bi u diJn tr' th`c cBa sP dương hoRc tr' bù 2 cBa sP âm.
Th`c hi n phép c&ng giPng như c&ng các sP nh' phân không d0u, c&ng c! bit d0u. CSn lưu ý lo%i bs bit nh; cuPi cùng trong k t qu!. Vắ dC: i12 110100 + i9 110111 ___ ______ i21 1 101011
K t qu! có bit d0u bLng 1, vQy k t qu! là sP âm và dãy bit m;i chj là bù 2 cBa k t qu!. MuPn có k t qu! thQt ta l0y Bù 2 m&t lSn naa. Trong vắ dC trên k t qu! không tắnh ự n bit nh; (bs bit nh;) là 101011 có bit d0u bLng 1 là m&t sP âm, t.c là k t qu! m;i bi u diJn D d%ng bù 2. MuPn bi t giá tr' thQt cBa k t qu! ta ph!i l0y bù 2 m&t lSn naa. T.c là 101011 = i (bù 2 cBa 01011) = i (10101) = i21. đPi v;i phép trX ta th`c hi n thông qua phép c&ng.
3A = bù 2 cha A A Ờ B = A + (3B) = A + (bù 2 cha B) Vắ d' 1: 13 Ờ 6 = 13 + (i6) 6 = 00000110 i6 = 11111010 13 = 00001101 = 1 00000111 (7) Vắ d' 2: Th`c hi n phép tắnh: 0111 Ờ 0101 Ta th`c 0111 chuy n 0111 hi n: thành i0101 +1011 (SP bù 2 cBa 0101) 10010 Suy ra k t qu! là 0010 Vắ d' 3: Th`c hi n phép tắnh: 0101 Ờ 0111 Ta th`c hi n: 0101(5) Chuy n thành 0101 i0111(i7) +1001 (SP bù 2 cBa 0111) 1110 3.5. S* quá n (excess3n)
SP quá n hay còn gMi là sP thXa n cBa m&t sP N có ựưKc bLng cách Ộc&ng thêmỢ sP N v;i sP quá n, sP n ựưKc chMn sao cho tYng cBa n và m&t sP âm b0t kỳ luôn luôn dương.
Quy t@c chung:
Bi u diJn quá n cBa N = bi u diJn nguyên dương cBa (N + n)
Vắ d.:
Bi u diJn (quá 127) cBa 7 là:
Chương III: Bi u di n d li u
Cách bi u diJn sP nguyên có d0u bLng sP bù 2 ựưKc dùng r&ng rãi cho các phép tắnh sP nguyên. Nó có lKi là không cSn thuQt toán ựRc bi t nào cho các phép tắnh c&ng và tắnh trX, và giúp phát hi n dJ dàng các trư ng hKp b' tràn.
Các cách bi u diJn bLng "d0u , tr' tuy t ựPi" hoRc bLng "sP bù 1" drn ự n vi c dùng các thuQt toán ph.c t%p và b0t lKi vì luôn có hai cách bi u diJn cBa sP không.
Cách bi u diJn bLng "d0u , tr' tuy t ựPi" ựưKc dùng cho phép nhân cBa sP có d0u ch0m ự&ng.
Cách bi u diJn bLng sP quá n ựưKc dùng cho sP mũ cBa các sP có d0u ch0m ự&ng. Cách này làm cho vi c so sánh các sP mũ có d0u khác nhau trD thành vi c so sánh các sP nguyên dương.
3.6. Cách bi u di n s* vpi dlu chlm ựing
đ bi u diJn các con sP r0t l;n hoRc r0t bé, ngư i ta ngư i ta dùng m&t cách bi u diJn sP gMi là sP ch0m ự&ng (floating point number). Trư;c khi ựi vào cách bi u diJn sP v;i d0u ch0m ự&ng, chúng ta xét ự n cách bi u diJn m&t sP dư;i d%ng d0u ch0m xác ự'nh.
Vắ dC:
i Trong h thQp phân, sP 25410 có th bi u diJn dư;i các d%ng sau:
254 * 100; 25.4 * 101; 2.54 * 102; 0.254 * 103; 0.0254 * 104; Ầ i Trong h nh' phân, sP (0.00011)2 (tương ựương v;i sP i Trong h nh' phân, sP (0.00011)2 (tương ựương v;i sP 0.0937510) có th bi u diJn dư;i các d%ng :
0.00011 * 20 ; 0.0011 * 2i1; 0.011 * 2i2; 0.11 * 2i3; 1.1 * 2i4; Ầ Các cách bi u diJn này gây khó khăn trong m&t sP phép so sánh các sP. đ dJ dàng trong các phép tắnh, các sP ựưKc chuẤn hoá v_ m&t d%ng bi u diJn: