Chương 1 - Các hệ đếm và việc mã hoá thông tin trong máy tính
lượt xem 55
download
Trong cuộc sống hàng ngày chúng ta dùng hệ cơ số m-ời hoặc nói gọn hơn hệ m-ời (decimal number system, viết tắt là hệ D) để biểu diễn các giá trị số. Điều này là rất tự nhiên vì từ xa x-a một con ng-ời bình th-ờng đã biết dùng 10 ngón tay của mình (và tất nhiên lúc bí quá có thể dùng thêm cả ngón chân!) nh- là "công cụ tính toán" sơ đẳng. Trong hệ thống này chúng ta dùng tổ hợp của các chữ số 0.. 9 để biểu diễn các giá trị số,...
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Chương 1 - Các hệ đếm và việc mã hoá thông tin trong máy tính
- Ch−¬ng 1 C¸c hÖ ®Õm vμ viÖc m· ho¸ th«ng tin trong m¸y tÝnh 1. C¸c hÖ ®Õm dïng trong m¸y tÝnh 1.1. HÖ m−êi vμ hÖ hai Trong cuéc sèng hμng ngμy chóng ta dïng hÖ c¬ sè m−êi hoÆc nãi gän h¬n hÖ m−êi (decimal number system, viÕt t¾t lμ hÖ D) ®Ó biÓu diÔn c¸c gi¸ trÞ sè. §iÒu nμy lμ rÊt tù nhiªn v× tõ xa x−a mét con ng−êi b×nh th−êng ®· biÕt dïng 10 ngãn tay cña m×nh (vμ tÊt nhiªn lóc bÝ qu¸ cã thÓ dïng thªm c¶ ngãn ch©n!) nh− lμ "c«ng cô tÝnh to¸n" s¬ ®¼ng. Trong hÖ thèng nμy chóng ta dïng tæ hîp cña c¸c ch÷ sè 0.. 9 ®Ó biÓu diÔn c¸c gi¸ trÞ sè, ®i kÌm theo tËp hîp ®ã cã thÓ dïng thªm ch÷ D ë cuèi ®Ó chØ ra r»ng ®ã lμ sè hÖ m−êi (ta còng cã thÓ bá ch÷ D ®i mμ vÉn ngÇm hiÓu r»ng ®ã lμ sè hÖ m−êi). Trong thÕ giíi m¸y tÝnh th× kh¸c, ®Ó biÓu diÔn mét gi¸ trÞ sè chóng ta dïng hÖ c¬ sè hai hoÆc nãi gän h¬n hÖ hai (Binary number system, viÕt t¾t lμ hÖ B), trong ®ã chØ tån t¹i 2 ch÷ sè 0 vμ 1 ®Ó biÓu diÔn c¸c gi¸ trÞ sè (øng víi 2 tr¹ng th¸i cã ®iÖn vμ kh«ng cã ®iÖn cña c¸c m¹ch ®iÖn tö cÊu t¹o nªn m¸y). 0 vμ 1 còng lμ c¸c gi¸ trÞ cã thÓ cã cña mét ch÷ sè hÖ hai (Binary digit, viÕt t¾t lμ bit). HÖ hai lμ hÖ ®Õm dïng trong c¸c m¸y tÝnh. Mét sè hÖ hai gåm c¸c bit th−êng ®−îc ®¸nh dÊu b»ng ch÷ B ®i kÌm ë cuèi ®Ó ph©n biÖt víi c¸c hÖ kh¸c khi ta lμm viÖc cïng mét lóc víi nhiÒu hÖ ®Õm kh¸c nhau. Mét côm 4 bit sÏ t¹o thμnh 1 nibble, côm 8 bit sÏ t¹o thμnh 1 byte, côm 16 bit 5
- th«ng th−êng sÏ t¹o thμnh 1 tõ (word), côm 32 bit sÏ t¹o thμnh 1 tõ kÐp (double word). Ch÷ sè ®Çu tiªn bªn tr¸i trong d·y c¸c sè hÖ hai gäi lμ bit cã ý nghÜa lín nhÊt (Most significant bit, MSB), cßn bit cuèi cïng bªn ph¶i trong d·y gäi lμ bit cã ý nghÜa bÐ nhÊt (Least significant bit, LSB). øng víi viÖc ®Õm thø tù 1, 2, 3...ë hÖ m−êi th× ë hÖ hai ta cã 1, 10, 11... 0 3 Nibble 7 Byte 15 Word 31 Double Word H×nh 1.1. C¸c ®¬n vÞ ®o ®é dμi cña sè hÖ hai dÉn xuÊt tõ bit. V× con ng−êi chØ quen tÝnh to¸n víi hÖ m−êi, trong khi c¸c bé phËn tÝnh to¸n cña m¸y tÝnh chØ biÕt lμm viÖc víi hÖ hai, nªn ®Ó ®¶m b¶o sù giao tiÕp thuËn tiÖn gi÷a ng−êi vμ m¸y (khi ®−a sè liÖu vμo vμ lóc lÊy ra kÕt qu¶ tÝnh to¸n) th−êng xuyªn ph¶i cã viÖc chuyÓn ®æi qua l¹i gi÷a hai hÖ ®Õm nμy. Chóng ta cïng xem xÐt nhanh c¸c vÊn ®Ò trªn th«ng qua c¸c vÝ dô ®¬n gi¶n d−íi ®©y. Mét sè hÖ m−êi viÕt nh− sau: 12345,67 sÏ cã gi¸ trÞ sè b»ng tæng cña c¸c tÝch gi÷a c¸c hÖ sè 1, 2, 3, 4, 5, 6, 7 víi c¸c träng sè 10i t−¬ng øng lÇn l−ît nh− sau: 12345,67=1.104+2.103+3.102+4.101+5.100+6.10-1+7.10-2. T−¬ng tù nh− vËy, mét sè hÖ hai viÕt nh− sau: 10111,01 sÏ cã gi¸ trÞ sè b»ng tæng cña c¸c tÝch gi÷a c¸c hÖ sè 1, 0, 1, 1, 1,01, 1 víi c¸c träng sè 2i t−¬ng øng lÇn l−ît nh− sau: =1.24+0.23+1.22+1.21+1.20+0.2-1+1.2-2. C¸c thuËt to¸n th−êng dïng ®Ó chuyÓn ®æi gi÷a hai hÖ trªn: 6
- • §æi sè hÖ hai sang hÖ m−êi Muèn ®æi mét sè tõ hÖ hai sang hÖ m−êi chØ cÇn tÝnh c¸c c¸c gi¸ trÞ 2i t−¬ng øng víi c¸c ch÷ sè kh¸c kh«ng thø i cña sè hÖ hai råi céng l¹i nh− ®· nãi ë trªn: VÝ dô 10111,11 B = 24 + 22 + 21 + 20 + 2-1 + 2-2 = 25,75 Ng−îc l¹i muèn chuyÓn mét sè tõ hÖ m−êi sang sè hÖ hai ta cã thÓ lμm theo 2 c¸ch: • C¸ch 1 ®Ó ®æi sè hÖ m−êi sang hÖ hai Quy t¾c: LÊy sè hÖ m−êi cÇn ®æi trõ ®i 2x (x lμ gi¸ trÞ lín nhÊt cña sè mò chän sao cho 2x nhá h¬n hoÆc b»ng so víi sè hÖ m−êi cÇn ®æi), ghi l¹i gi¸ trÞ 1 cho ch÷ sè hÖ hai øng víi 2x. TiÕp tôc lμm nh− vËy ®èi víi sè d− do phÐp trõ trªn t¹o ra vμ c¸c sè 2i bËc thÊp h¬n cho tíi khi ®¹t tíi 20 vμ ghi l¹i c¸c gi¸ trÞ (0 hoÆc 1) cho ch÷ sè hÖ hai thø i tuú theo quan hÖ gi÷a sè d− vμ luü thõa t−¬ng øng: 1, khi sè d− lín h¬n hoÆc b»ng 2i, 0, khi sè d− nhá h¬n so víi 2i (vμ phÐp trõ kh«ng ®−îc thùc hiÖn). VÝ dô: §æi sè 34 sang hÖ hai. C¸c gi¸ trÞ 2i cÇn tÝnh ®Õn (25 = 32 lμ gi¸ trÞ 2x s¸t d−íi nhÊt so víi sè 34) 25 24 23 22 21 20 C¸c ch÷ sè hÖ hai tÝnh ®−îc: 1 0 0 0 1 0 Nh− vËy 34 =100010 B. • C¸ch 2 ®Ó ®æi sè hÖ m−êi sang hÖ hai Quy t¾c: LÊy sè cÇn ®æi chia cho 2 vμ ghi nhí phÇn d−, tiÕp theo lÊy th−¬ng cña phÐp chia tr−íc ®ã chia cho 2 vμ ghi nhí phÇn d−. Lμm nh− vËy cho tíi khi ®−îc th−¬ng b»ng 0. §¶o ng−îc thø tù d·y c¸c sè d− sÏ ®−îc c¸c ch÷ sè cña sè hÖ hai cÇn t×m. 7
- VÝ dô: §æi sè 34 sang hÖ hai (h×nh 1.1.). KÕt qu¶ ®−îc 100010B. 34 2 0 17 2 1 8 2 2 0 4 2 2 0 2 1 0 1 0 C¸c sè d− trong khung sÏ ®−îc s¾p xÕp theo chiÒu mòi tªn H×nh 1.1. Mét c¸ch ®æi sè hÖ m−êi sang hÖ hai. Trong tr−êng hîp sè hÖ m−êi cÇn ®æi cã thªm c¶ phÇn lÎ sau dÊu ph¶y th× ®Çu tiªn ta ph¶i ®æi riªng rÏ tõng phÇn råi sau ®ã céng c¸c kÕt qu¶ l¹i. §èi víi phÇn nguyªn ta cã thÓ lμm theo 2 c¸ch ®· nãi ë trªn. Riªng ®èi víi phÇn sau dÊu ph¶y ta ®æi theo quy t¾c tr×nh bμy sau ®©y. • Quy t¾c ®æi sè thËp ph©n hÖ m−êi ra hÖ hai LÊy sè cÇn ®æi nh©n víi 2, tÝch nhËn ®−îc sÏ gåm phÇn nguyªn vμ phÇn lÎ nhÞ ph©n, lÊy phÇn lÎ nhÞ ph©n cña tÝch thu ®−îc nh©n tiÕp víi 2. Lμm nh− vËy cho tíi khi ®−îc tÝch ch½n b»ng 1. Chän riªng c¸c phÇn nguyªn (phÇn tr−íc dÊu ph¶y) cña c¸c tÝch thu ®−îc vμ s¾p xÕp l¹i sÏ ®−îc c¸c ch÷ sè sau dÊu ph¶y cña sè hÖ hai cÇn t×m. VÝ dô: §æi 0,125 ra sè hÖ hai. Ta thùc hiÖn phÐp nh©n lÇn l−ît theo c¸c b−íc trªn: × 0 ,250 0,125 2 = × 0 ,500 0,250 2 = × 1 ,000 0,500 2 = 8
- vμ thu ®−îc kÕt qu¶ lμ 0,125 = 0,001 B (phÇn ®−îc ®ãng trong khung). KÕt hîp c¸c vÝ dô trªn l¹i, nÕu ph¶i ®æi sè 34,125 ra hÖ hai ta thu ®−îc kÕt qu¶ cuèi cïng lμ 34,125 =100010,001 B. 1.2. Sè BCD (sè hÖ m−êi m· ho¸ b»ng hÖ hai) Gi÷a hÖ m−êi vμ hÖ hai cßn tån t¹i mét hÖ lai: hÖ BCD cho c¸c sè hÖ m−êi m· ho¸ b»ng hÖ hai (Binary Coded Decimal number), rÊt thÝch hîp cho c¸c thiÕt bÞ ®o cã thªm phÇn hiÖn thÞ sè ë ®Çu ra dïng c¸c lo¹i ®Ìn hiÖn sè kh¸c nhau. ë ®©y ta dïng 4 sè hÖ hai ®Ó m· ho¸ mét sè hÖ m−êi cã gi¸ trÞ n»m trong kho¶ng 0 .. 9. Nh− vËy ë ®©y ta kh«ng dïng hÕt c¸c tæ hîp cã thÓ cã cña 4 bit. V× tÇm quan träng cña c¸c sè BCD nªn c¸c bé vi xö lý th−êng cã c¸c lÖnh thao t¸c víi chóng. VÝ dô: Sè 410 nÕu biÓu diÔn theo kiÓu sè BCD th× ®−îc 0100 0001 0000. KÕt qu¶ nμy còng gîi ý cho ta c¸ch thøc chuyÓn ®æi gi÷a 2 lo¹i sè. 1.3. HÖ m−êi s¸u (Hexa-decimal, hex, H) NÕu ta dïng hÖ hai ®Ó biÓu diÔn c¸c sè cã gi¸ trÞ lín ta sÏ gÆp ®iÒu bÊt tiÖn lμ sè hÖ hai thu ®−îc qu¸ dμi. VÝ dô ®Ó biÓu diÔn sè 255 ta cÇn ®Õn 8 bit viÕt nh− sau: 255 = 1111 1111 B Trong thùc tÕ ®Ó viÕt kÕt qu¶ biÓu diÔn cña c¸c sè cho gän l¹i ng−êi ta t×m c¸ch nhãm 4 sè hÖ hai (1 nibble) thμnh mét sè hÖ m−êi s¸u. Kh¸c víi hÖ BCD võa nãi hÖ 16 dïng hÕt c¸c tæ hîp cã thÓ cña 4 bit ®Ó biÓu diÔn c¸c gi¸ trÞ sè. §Ó lμm ®−îc ®iÒu nμy ng−êi ta sö dông c¸c ch÷ sè s½n cã cña hÖ m−êi 0 .. 9 ®Ó biÓu diÔn c¸c gi¸ trÞ sè øng víi 0 .. 9 vμ dïng thªm c¸c ch÷ c¸i A .. F ®Ó biÓu diÔn c¸c gi¸ trÞ cßn l¹i øng víi 10 .. 15. §Ó ph©n biÖt mét sè hÖ m−êi s¸u víi c¸c sè hÖ kh¸c ta kÌm thªm ch÷ H ë cuèi. Ta còng dÔ nhËn thÊy r»ng sè m−êi chØ lμ mét bé phËn cña hÖ m−êi s¸u. 2. C¸c phÐp to¸n sè häc ®èi víi sè hÖ hai 2.1. PhÐp céng PhÐp céng c¸c sè hÖ hai thùc hiÖn gièng nh− khi ta lμm víi sè hÖ m−êi. Quy t¾c phÐp céng sè hÖ hai ®−îc chØ ra trong b¶ng 1.1. 9
- B¶ng 1.1. Quy t¾c phÐp céng B¶ng 1.2. Quy t¾c phÐp trõ y=a+b y=a-b a b y C a b y B 0 0 0 0 0 0 0 0 0 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 1 1 1 1 1 1 0 0 C: nhí (Carry) B: m−în (Borrow) VÝ dô Céng hÖ m−êi Céng hÖ hai 11 Nhí 1111 1110 099 Sè h¹ng 1 0110 0011 095 Sè h¹ng 2 0101 1111 194 Tæng 1100 0010 C¸c bé céng trong c¸c khèi tÝnh to¸n sè häc cña m¸y tÝnh sÏ thùc hiÖn c¸c phÐp céng theo c¸ch ®· nãi ë trªn. 2.2. PhÐp trõ vμ sè bï hai a) PhÐp trõ PhÐp trõ c¸c sè hÖ hai thùc hiÖn gièng nh− khi ta lμm víi sè hÖ m−êi. Quy t¾c phÐp trõ sè hÖ hai ®−îc chØ ra trong b¶ng 1.2. VÝ dô Trõ hÖ m−êi Trõ hÖ hai 1 M−în 110 0000 109 Sè bÞ trõ 0110 1101 49 Sè trõ 0011 0001 060 HiÖu 0011 1100 b) Sè bï hai Trong khi lμm phÐp trõ ta nhËn thÊy cã thÓ thùc hiÖn phÐp trõ b»ng phÐp céng: céng sè bÞ trõ víi sè ®èi cña sè trõ. §iÒu nμy còng ®−îc øng dông trong c¸c khèi tÝnh to¸n sè häc cña m¸y tÝnh ®Ó tËn dông c¸c bé céng ®· cã s½n. VÊn ®Ò ®Æt ra ®èi víi sè hÖ hai lμ ta ph¶i cã c¸ch biÓu diÔn sè ©m mét c¸ch thÝch hîp sao cho ta cã thÓ 10
- øng dông ®−îc tÝnh chÊt nãi trªn. Cã rÊt nhiÒu c¸ch m· ho¸ c¸c sè hÖ hai ®Ó biÓu diÔn sè ©m nh−ng trong thùc tÕ hay dïng nhÊt lμ dïng c¸ch m· ho¸ kiÓu sè bï hai. B¶ng 1.3 chØ ra c¸ch t¹o ra c¸c sè hÖ hai cã dÊu vμ sè bï hai trong sù t−¬ng quan víi sè hÖ hai. B¶ng 1.3. BiÓu diÔn c¸c sè theo hÖ hai, hÖ hai cã dÊu vμ m· bï hai. Sè 8 bit Sè hÖ m−êi Sè hÖ m−êi theo Sè hÖ m−êi tÝnh hÖ hai t−¬ng ®−¬ng m· hÖ hai cã dÊu theo m· bï hai 0000 0000 0 +0 +0 0000 0001 1 +1 +1 0000 0010 2 +2 +2 ... ... ... ... 0111 1101 125 +125 +125 0111 1110 126 +126 +126 0111 1111 127 +127 +127 1000 0000 128 -0 -128 1000 0001 129 -1 -127 1000 0010 130 -2 -126 ... ... ... ... 1111 1101 125 -125 -3 1111 1110 126 -126 -2 1111 1111 255 -127 -1 Quan s¸t kü b¶ng nμy chóng ta cã thÓ rót ra c¸c nhËn xÐt sau: 1. NÕu ta dïng 8 bit ®Ó biÓu diÔn sè th× ta thu ®−îc 256 tæ hîp cã gi¸ trÞ tõ 0 ®Õn 255 (t−¬ng øng 00 .. FF H), tøc lμ chØ biÓu diÔn ®−îc sè d−¬ng. 2. Víi tæ hîp trªn nÕu ta muèn biÓu diÔn sè cã dÊu theo kiÓu dÊu vμ ®é lín (sign and magnitude) ta ph¶i mÊt 1 bit ®Ó dμnh cho dÊu vμ 7 bit cßn l¹i ®Ó ®Þnh gi¸ trÞ. Víi c¸ch lμm nμy ta cã kh¶ n¨ng biÓu diÔn c¶ sè ©m vμ sè d−¬ng n»m trong kho¶ng -127 .. -0, +0 .. +127 (chó ý hai gi¸ trÞ 0 kh¸c nhau !). 3. Sè bï hai ®−îc t¹o ra theo c¸ch gÇn gièng nh− kiÓu dÊu vμ ®é lín nh−ng nã dïng c¶ 8 bit ®Ó biÓu diÔn gi¸ trÞ cña sè ®−îc m· ho¸. M· bï hai dμi 8 bit cã kh¶ n¨ng biÓu diÔn c¸c sè ©m vμ d−¬ng trong kho¶ng -128..0..+127. Mét sè d−¬ng cã m· bï hai gièng nh− m· hÖ hai th«ng th−êng. 4. Mét sè biÓu diÔn theo hÖ hai sÏ cã c¸c gi¸ trÞ kh¸c nhau nÕu hiÓu ®ã lμ m· ®Ó biÓu diÔn sè theo kiÓu hÖ hai cã dÊu hoÆc kiÓu sè bï hai. Nãi kh¸c ®i, mét côm c¸c sè 0 vμ 1 sÏ ®−îc c¶m nhËn kh¸c nhau khi nã biÓu diÔn gi¸ 11
- trÞ sè theo c¸c m· kh¸c nhau. Cho dï cã ®−îc biÓu diÔn b»ng sè hÖ hai cã dÊu hay sè bï hai th× c¸c sè ©m ®Òu cã bit b7=1, cßn c¸c sè d−¬ng cã bit b7=0. B©y giê ta nãi cô thÓ c¸ch tÝnh sè bï hai cña mét sè nμo ®ã. VÒ mÆt to¸n häc th× sè bï hai cña mét sè chÝnh lμ sè ®èi cña nã. Nh− vËy mét sè d−¬ng sÏ cã sè bï hai lμ mét sè ©m cïng gi¸ trÞ tuyÖt ®èi vμ ng−îc l¹i. Quy t¾c: Muèn t×m sè bï hai (cßn gäi lμ bï sè häc) cña mét sè A ta lμm theo c¸c b−íc sau: + biÓu diÔn sè A theo m· bï hai cña nã. + t×m sè bï mét (bï logic) cña sè ®ã (b»ng c¸ch ®¶o bit). + céng 1 vμo sè bï mét ë trªn ®Ó nhËn ®−îc sè bï hai cña sè A. Ghi chó: Khi cã mét sè ©m ®−îc biÓu diÔn theo m· bï hai nÕu muèn tÝnh gi¸ trÞ tuyÖt ®èi cña nã ta còng ¸p dông quy t¾c nμy (¸p dông c¸c b−íc 2,3). VÝ dô: T×m sè bï hai cña 13. 13 = 0000 1101 B (m· bï hai cña 13) sè bï 1 cña 13: 1111 0010 B (®¶o bit cña sè trªn) céng thªm 1: 1 sè bï hai cña 13: 1111 0011 B (tøc lμ -13) Cã thÓ lÊy mét vÝ dô kh¸c ®Ó chøng tá kÕt qu¶ trªn lμ ®óng vμ qua ®ã còng thÊy ®−îc øng dông cña sè bï hai trong khi lμm phÐp trõ. VÝ dô: 15 - 13 = ? Ta cã thÓ viÕt l¹i phÐp trõ trªn thμnh phÐp céng 15+(-13) vμ sö dông kÕt qu¶ võa tÝnh ®−îc ë trªn cho sè (-13): 15 ... 0000 1111 (-13) ... 1111 0011 tæng ... 0000 0010 (nhí 1) NÕu kh«ng ®Ó ý ®Õn nhí ta cã kÕt qu¶ lμ 2. VÝ dô: 12 - 13 = ? 12 ... 0000 1100 (-13) ... 1111 0011 tæng ... 1111 1111 (tøc -1) 12
- §©y lμ mét sè ©m (bit b7=1) víi gi¸ trÞ tuyÖt ®èi lμ 1 (tra theo b¶ng 1.3). MÆt kh¸c ta còng cã thÓ t×m ®−îc gi¸ trÞ tuyÖt ®èi cña kÕt qu¶ b»ng c¸ch t×m sè bï hai cña nã: m· bï hai cña kÕt qu¶ trªn ... 1111 1111 sè bï 1 cña kÕt qu¶ trªn ... 0000 0000 céng 1 ®Ó t×m gi¸ trÞ tuyÖt ®èi ... 0000 0001 2.3. PhÐp nh©n PhÐp nh©n c¸c sè hÖ hai thùc hiÖn gièng nh− khi ta lμm víi sè hÖ m−êi. Quy t¾c phÐp nh©n sè hÖ hai ®−îc chØ ra trong b¶ng 1.4. B¶ng 1.4. Quy t¾c phÐp nh©n y=a.b a b y 0 0 0 0 1 0 1 0 0 1 1 1 Trªn c¬ së quy t¾c võa nªu vμ ®Ó cho ®¬n gi¶n ta thùc hiÖn vÝ dô mét phÐp nh©n 2 sè hÖ hai víi ®é dμi 4 bit ®Ó lμm s¸ng tá thuËt to¸n nh©n. 1001 Sè bÞ mh©n (9) 0110 Sè nh©n (6) 0000 Thμnh phÇn 1 cña tæng tÝch luü 1001 Thμnh phÇn 2 cña tæng tÝch luü 1001 Thμnh phÇn 3 cña tæng tÝch luü 0000 Thμnh phÇn 4 cña tæng tÝch luü 0110110 Tæng tÝch luü (54) §é dμi cùc ®¹i cña kÕt qu¶ trong tr−êng hîp nμy lμ 8 bit. NÕu ta cã c¸c to¸n h¹ng 8 (hoÆc 16) bit th× ®é dμi cùc ®¹i cña kÕt qu¶ lμ 16 (hoÆc 32) bit. Mçi lÇn nh©n 1 bit kh¸c 0 cña sè nh©n víi sè bÞ nh©n ta thu ®−îc chÝnh sè bÞ nh©n. NÕu dÞch tr¸i nã mét sè lÇn t−¬ng øng víi vÞ trÝ cña bit kh¸c 0 ®ã trong sè nh©n, ta t¹o ra 1 thμnh phÇn cña tæng tÝch luü. Tæng cña c¸c thμnh phÇn nh− trªn lμ kÕt qu¶ cña phÐp nh©n. Ph©n tÝch kü qu¸ tr×nh trªn ta thÊy phÐp nh©n cã thÓ thùc hiÖn theo thuËt to¸n céng vμ dÞch (trªn c¬ së c¸c bé céng vμ dÞch) nh− sau: 13
- • Thμnh phÇn ®Çu tiªn cña tæng tÝch luü thu ®−îc lμ tÝch cña sè LSB trong sè nh©n víi sè bÞ nh©n. NÕu LSB = 0 th× thμnh phÇn nμy còng b»ng 0, cßn nÕu LSB = 1 th× thμnh phÇn nμy chÝnh b»ng sè bÞ nh©n. • Mçi thμnh phÇn thø i tiÕp theo cña tæng tÝch luü sÏ tÝnh ®−îc b»ng c¸ch t−¬ng tù, nh−ng ph¶i dÞch tr¸i i bit (cã thÓ bá qua c¸c thμnh phÇn b»ng 0). • Tæng cña c¸c tæng thμnh phÇn lμ tÝch cÇn t×m. §Ó minh ho¹ cho thuËt to¸n trªn, ta dïng lu«n nã ®Ó rót gän vÝ dô ®· lμm tr−íc ®©y nh− sau: 1001 Sè bÞ mh©n (9) 0110 Sè nh©n (6) 1001 Sè bÞ nh©n dÞch tr¸i 1 lÇn 1001 Sè bÞ nh©n dÞch tr¸i 2 lÇn 0110110 Tæng tÝch luü (54) 2.4. PhÐp chia PhÐp chia lμ phÐp tÝnh ng−îc cña phÐp nh©n. Tõ ®ã suy ra phÐp chia cã thÓ ®−îc thùc hiÖn b»ng c¸c phÐp trõ vμ phÐp dÞch liªn tiÕp cho tíi khi kh«ng thÓ trõ ®−îc n÷a (do kh«ng cßn g× ®Ó trõ hoÆc sè bÞ trõ nhá h¬n sè chia). Sau ®©y lμ thuËt to¸n cña phÐp chia th«ng qua vÝ dô cô thÓ. VÝ dô: 35/5 = 7. Ta h·y quan s¸t kü c¸c b−íc ph¶i lμm khi chia b»ng tay: 100011 101 000 0111 1000 101 111 101 101 101 0 Trong c¸c b−íc tÝnh ë trªn liªn tôc cÇn ph¶i cã c¸c dù ®o¸n vμ kiÓm tra ®Ó t×m ra ®−îc kÕt qu¶ ®óng. C«ng viÖc nμy lμ rÊt khã kh¨n ®èi víi c¸c m¹ch ®iÖn tö cña khèi tÝnh to¸n sè häc (vèn lμ c¸c phÇn tö ®Ó thùc hiÖn phÐp céng vμ dÞch trong m¸y tÝnh). Sau ®©y lμ mét thuËt to¸n kh¾c phôc ®−îc c¸c vÊn ®Ò nªu ë trªn: 1. §æi sè chia ra sè bï hai cña nã (®Ó b−íc ë sau lμm tÝnh trõ b»ng tÝnh céng). 14
- 2. LÊy sè bÞ chia trõ ®i sè chia. NÕu kÕt qu¶ nμy cã bit dÊu b»ng 0 (cã nghÜa lμ phÇn nμy cña sè bÞ chia chia ®−îc cho sè chia) th× bit t−¬ng øng cña th−¬ng b»ng 1. NÕu kÕt qu¶ nμy cã bit dÊu b»ng 1 (cã nghÜa lμ phÇn nμy cña sè bÞ chia kh«ng chia ®−îc cho sè chia) th× bit t−¬ng øng cña th−¬ng b»ng 0 vμ ta buéc ph¶i kh«i phôc l¹i gi¸ trÞ ban ®Çu cña sè bÞ chia b»ng c¸ch céng kÕt nμy qu¶ víi sè chia ë m· hÖ hai. 3. DÞch tr¸i kÕt qu¶ thu ®−îc ë trªn vμ lμm l¹i b−íc 2 cho ®Õn khi nhËn ®−îc kÕt qu¶ cuèi cïng lμ 0 (chia hÕt) hoÆc nhá h¬n sè chia (chia cßn d−). VÝ dô: 36/5 = 7, d− 1. Thùc hiÖn phÐp chia nμy trong hÖ hai. §Çu tiªn ta cã 5 = 0101 B vμ sè bï hai cña nã lμ 1011 B. C¸c b−íc tÝnh to¸n tiÕp cña phÐp chia theo thuËt to¸n ®· nªu ë trªn ®−îc liÖt kª ra nhu sau: To¸n h¹ng Th−¬ng Tªn to¸n h¹ng, thao t¸c 0 100100 Sè bÞ chia 1 011000 Sè chia ë m· bï hai ®Ó céng 1 111100 0 Tæng, kÕt qu¶ 1 (kq1) 1 111100 kq1 0 101000 Sè chia ë m· hÖ hai ®Ó céng 0 100100 Sè bÞ chia 1 00100 Sè bÞ chia dÞch tr¸i 1 lÇn 1 01100 Sè chia ë m· bï hai ®Ó céng 0 10000 1 Tæng, kÕt qu¶ 2 (kq2) 1 0000 kq2 dÞch tr¸i 2 lÇn 1 0110 Sè chia ë m· bï hai ®Ó céng 0 0110 1 Tæng, kÕt qu¶ 3 (kq3) 0 110 kq3 dÞch tr¸i 3 lÇn 1 011 Sè chia ë m· bï hai ®Ó céng 0 001 1 Tæng, kÕt qu¶ 4 (kq4) Bit dÊu Tõ ®©y ta rót ra 36/5 = 7 vμ d− 1. 15
- 3. M· ASCII - m· tiªu chuÈn cho trao ®æi th«ng tin B¶ng 1.5. B¶ng m· ASCII tiªu chuÈn. Hexa- 0 1 2 3 4 5 6 7 decimal 0 @ P ` p 0 0 16 32 48 64 80 96 112 ! 1 A Q a q 1 1 17 33 49 65 81 97 113 " 2 B R b r 2 2 18 34 50 66 82 98 114 # 3 C S c s 3 3 19 35 51 67 83 99 115 $ 4 D T d t 4 4 20 36 52 68 84 100 116 % 5 E U e u 5 5 21 37 53 69 85 101 117 & 6 F V f v 6 6 22 38 54 70 86 102 118 ' 7 G W g w 7 7 23 39 55 71 87 103 119 ( 8 H X h x 8 8 24 40 56 72 88 104 120 ) 9 I Y i y 9 9 25 41 57 73 89 105 121 * : J Z j z A 10 26 42 58 74 90 106 122 + ; K [ k { B 11 27 43 59 75 91 107 123 , < L \ l | C 12 28 44 60 76 92 108 124 - = M ] m } D 13 29 45 61 77 93 109 125 . > N ^ n ~ E 14 30 46 62 78 94 110 126 / ? O _ o F 15 31 47 63 79 95 111 127 Trong c¸c phÇn tr−íc ta ®· nãi ®Õn c¸ch biÓu diÔn sè trong c¸c hÖ ®Õm. B©y giê ta xem xÐt viÖc biÓu diÔn th«ng tin nãi chung trong m¸y tÝnh. TÊt c¶ c¸c th«ng tin trong m¸y tÝnh ®Òu ®−îc biÓu diÔn d−íi d¹ng c¸c sè 0 vμ 1. Mçi tæ hîp cña c¸c sè 0 vμ 1 ®−îc g¸n mét ký tù ch÷ c¸i, ch÷ sè hoÆc mét ký tù kh¸c theo mét c¸ch thøc nhÊt ®Þnh. Trong thùc tÕ th«ng tin ®−îc truyÒn ®i, ®−îc l−u gi÷ trong c¸c bé nhí hoÆc ®Ó 16
- hiÖn thÞ trªn mμn h×nh ®Òu ë d−íi d¹ng ký tù vμ tu©n theo mét lo¹i m· ®−îc dïng rÊt réng r·i gäi lμ m· ASCII (American Standard Code for Information Interchange, m· chuÈn cña Mü dïng cho trao ®æi th«ng tin). ViÖc dïng c¸c ký tù ®Ó m· ho¸ th«ng tin theo b¶ng m· ASCII (b¶ng 1.5) cho ta kh¶ n¨ng trao ®æi th«ng tin víi hÇu hÕt c¸c m¸y tÝnh kh¸c. Trong b¶ng m· ASCII tiªu chuÈn, ng−êi ta dïng 7 bit ®Ó m· ho¸ c¸c ký tù th«ng dông, nh− vËy b¶ng m· nμy sÏ cã 128 ký tù øng víi c¸c m· sè tõ 0.. 127. Bit thø 8 cã thÓ cho liªn tôc b»ng 0, 1 hoÆc cã thÓ dïng ®Ó chøa bit parity (xem ý nghÜa cña parity ë ch−¬ng 3, phÇn nãi vÒ c¸c cê) phôc vô cho viÖc ph¸t hiÖn lçi khi truyÒn. Bªn c¹nh b¶ng ASCII tiªu chuÈn ng−êi ta cßn dïng b¶ng ASCII më réng cho c¸c ký tù ®Æc biÖt (kh¸c c¸c ký tù tiªu chuÈn) víi m· tõ 128 .. 255. Khi tra c¸c b¶ng nμy ta ®äc m· cña ký tù theo thø tù cét-hμng. VÝ dô: M· ASCII cña mét sè ký tù th−êng dïng trong khi lËp tr×nh: (Bell, chu«ng): 7 (Back space, xo¸ lïi): 8 (Horizont tab, gi·n c¸ch ngang): 9 (Line feed, thªm dßng míi): OAH (Carriage return, vÒ ®Çu dßng): ODH (Space, dÊu c¸ch): 20H; '$': 24H; '0': 30H; '9':39H; 'A': 41H; 'a': 61H... Khi xem xÐt b¶ng 1.5 ta cã thÓ rót ra mÊy nhËn xÐt s¬ bé nh− sau: 1. 2 cét ®Çu cña b¶ng m· ®−îc dïng cho c¸c ký tù ®iÒu khiÓn. 2. Cét 2 dμnh riªng cho c¸c ký tù ng¨n c¸ch. 3. C¸c ký tù sè n»m ë cét 3. M· cña ký tù '0' lμ 30H, '9' lμ 39H. Gi÷a gi¸ trÞ sè vμ m· ASCII cña sè ®ã cã kho¶ng c¸ch lμ 30H. 4. C¸c ch÷ c¸i hoa n»m ë c¸c cét 4, 5, c¸c ch÷ c¸i th−êng ë cét 6, 7. Kho¶ng c¸ch gi÷a ch÷ th−êng vμ ch÷ hoa cïng tªn lμ 20H. 4. Quan hÖ gi÷a m· ASCII víi sè BCD Trong khi lμm to¸n víi c¸c sè BCD ta th−êng kÕt hîp 2 sè BCD thμnh 1 byte. D¹ng sè BCD viÕt theo kiÓu nμy gäi lμ d¹ng BCD chuÈn hay cßn ®−îc gäi lμ d¹ng BCD gãi (packed BCD). Khi l−u tr÷, khi hiÖn thÞ hoÆc khi truyÒn gi÷a c¸c thiÕt bÞ c¸c gi¸ trÞ sè 0 .. 9, thùc chÊt ta lμm viÖc víi m· ASCII cña c¸c sè ®ã, tøc lμ c¸c sè 30H .. 39H. Nh− vËy ta thÊy trong 1 byte m· ASCII biÓu diÔn c¸c sè 0 .. 9 cã 4 bit thÊp øng víi m· BCD cña chÝnh c¸c sè ®ã, 4 bit cao bao giê còng øng víi m· BCD cña sè 3 (tøc lμ 0011B). NÕu trong byte m· ASCII nμy ta thay 4 bit cao b»ng 0H th× ta thu ®−îc sè 17
- BCD kh«ng gãi. Nãi c¸ch kh¸c sè BCD kh«ng gãi lμ sè dμi 1 byte, trong ®ã 4 bit cao b»ng kh«ng, 4 bit thÊp lμ sè BCD chuÈn m· ho¸ sè cÇn biÓu diÔn. VÝ dô sau minh ho¹ quan hÖ gi÷a sè BCD gãi, BCD kh«ng gãi vμ m· ASCII. M· ASCII cña 5 lμ 0011 0101B = 35H M· ASCII cña 9 lμ 0011 1001B = 39H M· BCD kh«ng gãi cña 5 lμ 0000 0101B = 05H M· BCD kh«ng gãi cña 9 lμ 0000 1001B = 09H M· BCD gãi (chuÈn) cña 59 lμ 0101 1001B = 59H Tõ ®©y ta cã thÓ rót ra c¸c b−íc ph¶i lμm ®Ó ®æi 2 sè ë d¹ng m· ASCII sang d¹ng sè BCD chuÈn: + §æi sè ®Çu tiªn tõ m· ASCII ra sè BCD kh«ng gãi, + §æi sè thø 2 tõ m· ASCII ra sè BCD kh«ng gãi, + LÊy 4 bit thÊp cña sè ®Çu ghÐp víi 4 bit thÊp cña sè sau t¹o thμnh 1 byte biÓu diÔn sè BCD gãi. §©y lμ c¸c c«ng viÖc hay gÆp khi thao t¸c víi c¸c sè trong c¸c hÖ vi xö lý. 18
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Hướng dẫn cài đặt Windows trên Flash USB – Phần 1
6 p | 381 | 130
-
Bài giảng Tin học căn bản: Chương 1 - GV.Trần Thanh San
35 p | 185 | 36
-
Những yếu tố cần quan tâm khi chọn mua máy tính bảng
3 p | 138 | 33
-
Intel kỳ vọng vào chip Sandy Bridge
5 p | 93 | 10
-
Những điểm mới thú vị của Microsoft Office 15
3 p | 74 | 8
-
Tin học cơ sở - Chương 1
5 p | 80 | 6
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn