1 / 18

Laskutoimitukset binaariluvuilla

Laskutoimitukset binaariluvuilla. Aseta i = n. On. P i > Q i. P > Q. Ei. On. P i < Q i. P < Q. Ei. On. i = 0. P = Q. C 000 00000100 0 P 0000 01100011 Q 0 + 00 10000010 S 0000 11100101. Ei. i = i - 1. 0-1=10. C = P Q. P - Q = P + (- Q ). 1+1=10.

frye
Download Presentation

Laskutoimitukset binaariluvuilla

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Laskutoimitukset binaariluvuilla Aseta i = n On Pi > Qi P > Q Ei On Pi < Qi P < Q Ei On i = 0 P = Q C000000001000 P000001100011 Q0+0010000010 S000011100101 Ei i = i - 1 0-1=10 C = P Q P - Q = P + (-Q) 1+1=10

  2. Johdanto Tässä luvussa käsitellään peruslaskutoimitukset yksi- ja monibittisillä etumerkittömillä binaariluvuilla esitellään aritmeettiset peruspiirit esitetään etumerkittömien binaarilukujen vertailu ja vertailupiirit käsitellään kahden komplementtimuotoisten lukujen yhteen- ja vähennyslasku esitetään binaariluvun kertominen kahden potenssilla Luvun tavoitteena on oppia laskemaan yhteen-, vähennys- ja kertolaskuja etumerkittömillä ja kahden komplementtimuotoisilla binaariluvuilla perehtyä aritmeettisiin piireihin ja vertailupiireihin sekä niiden käyttöön

  3. Laskutoimitukset yksibittisillä binaariluvuilla Periaatteessa kuten kymmenjärjestelmän numeroilla Laskutaulukot: + - • Yhteenlasku P + Q Vähennyslasku P - Q Kertolasku P · Q P Q C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 P Q B D 0 0 0 0 0 1 1 1 1 0 0 1 1 1 0 0 P Q PR 0 0 0 0 1 0 1 0 0 1 1 1 Muistibitti (carry bit) Muistibitti (borrow bit) 2 S=D

  4. Puolisummain Puolisummain (half adder) muodostaa kahden yksibittisen luvun summabitin ja muistibitin Totuustaulu P Q C S 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0 Piirikaavio Piirrosmerkki P =1 Σ S Summabitti P S Q & CO Muistibitti Q C C Kytkentäfunktiot ½Σ S = P Q + P Q = PQ C = P Q

  5. Monibittisten binaarilukujen yhteen- ja vähennyslasku Monibittisillä luvuilla tuleva muistibitti on otettava huomioon Bittipositiossa i laskennassa ovat mukana yhteenlaskettavien tai vähennettävien bitit Pi ja Qi tuleva muistibitti Ci tai Bi summabitti Sitai erotusbitti Di lähtevä muistibitti Ci+1 tai Bi+1 Erotus Pi - Qi - Bi - Pi Qi Bi Bi+1Di 0 0 0 0 0 0 0 1 1 1 0 1 0 1 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 0 1 1 0 0 0 1 1 1 1 1 Si=Di C tai B ··· 1 1 1 0 0 ··· P ··· 1 1 0 1 0 ··· Q ··· 0 1 1 1 1 ··· S tai D ··· 0 1 0 0 1 ··· Summa Pi + Qi + Ci + Pi Qi Ci Ci+1Si 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1

  6. Kokosummain 1 Kokosummain (full adder) ottaa huomioon myös yhteenlaskun tulevan muistibitin Seuraavassa jätetty signaalinimistä pois indeksi i Tuleva muistibitti on Cin ja lähtevä Cout Totuustaulu Kytkentäfunktiot P Q Cin CoutS 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 S = P Q Cin + P Q Cin + P Q Cin + P Q Cin = PÅQÅCin Cout = P Q + P Cin + Q Cin = P Q + Cin (PÅ Q) Σ

  7. Kokosummain 2 Piirikaavio 1 P =1 Q =1 S Cin Piirrosmerkki & Σ Σ 1 P S & Σ CO Cout 1 Q & CO Cin CI CO Cout Piirikaavio 2 Cin S P Cout Q Σ

  8. Monibittiset binaarisummaimet 4-bittinen rinnakkaismuotoinen summain saatavilla erillispiirinä 4-bittisen rinnakkaismuotoisen summaimen periaatteellinen toteutus Heikkoutena hitaus: muistibitti etenee ketjussa summaimesta seuraavaan Todellisessa summaimessa muistibitin kulkua on nopeutettu tähän voidaan käyttää muistibitin kurkistuspiiriä kurkistussummaimessa viive ei riipu yhteenlaskettavien bittimäärästä nopein summain saadaan kahden tason piirinä S0 S1 S2 S3 Σ Σ Σ Σ P0 P1 P2 P3 Q0 Q1 Q2 Q3 C1 C2 C3 0 CI CO CI CO CI CO CI CO C4 Esittele binaari- summain Σn

  9. Laskutoimituksia etumerkittömillä binaariluvuilla Yhteenlasku Vähennyslasku Kertolasku P Q0• Osatulot Tulo Muistibitti P Q + Summa Muistibitti P Q- Erotus Muistibitti P Q- Erotus Muistibitti P Q + Summa Muistibitti P Q + Summa Muistibitti P Q- Erotus + - • 0 0 1 0 1 0 0 0 1 1 0 1 0 1 0 0 0 1 0 0 1 1 1 0 1 0 1 1 1 1 1 0 1 0 0 1 0 1 1 0 0 1 0 0 1 0 0 0 0 0 1 1 0 0 0 1 0 0 1 0 1 0 0 1 1 1 0 1 0 1 0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 1 0 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 1 0 0 1 1 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 Ylivuoto, väärä tulos Ylivuoto, väärä tulos ? 1 2

  10. Etumerkittömien binaarilukujen vertailu 1 Yhtäsuuruuden vertailu Verrataan yksittäisiä bittejä EHDOTON TAI -portilla Yhdistetään bittikohtaiset vertailutulokset TAI-EI-portilla Esimerkki: nelibittinen yhtäsuuruuden vertailupiiri Piirikaavio Piirrosmerkki COMP P0 =1 Q0 P0 0 P1 P1 =1 P P2 Q1 P3 3 1 P=Q Y P2 =1 Q0 0 Q2 Y Q1 Q P3 =1 Q2 Q3 3 Q3 =

  11. Etumerkittömien binaarilukujen vertailu 2 Keskinäisen suuruuden vertailu Selvitetään, kumpi luvuista on suurempi vai ovatko ne yhtä suuret Vertailualgoritmi Kahdeksanbittinen vertailupiiri Aseta i = n COMP COMP P0 0 P4 0 P1 P5 P P On Pi > Qi P2 P6 P > Q P3 3 P7 3 Ei 0 > P>Q > P>Q PSQ On Pi < Qi P < Q 1 = P=Q = P=Q PYQ 0 < P<Q < P<Q PPQ Ei On Q0 0 Q4 0 i = 0 P = Q Q1 Q5 Q Q Q2 Q6 Ei Q3 3 Q7 3 i = i - 1 > = <

  12. Kahden komplementtimuotoisten binaarilukujen yhteenlasku Yksinkertainen algoritmi laske luvut merkkibitteineen yhteen unohda merkkibiteistä muodostunut muistibitti Esimerkkejä: C P Q + S C P Q + S C P Q + S Eri arvo 0 1 1 1 1 0 0 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 0 1 0 1 0 1 0 1 1 0 1 1 1 1 0 1 0 1 0 1 0 1 0 1 1 0 0 0 0 0 0 0 0 0 1 0 0 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 0 0 1 1 0 1 0 1 P ja Q positiivisia, samoin S P negatiivinen,Q positiivinen, S positiivinen P negatiivinen,Q negatiivinen, S positiivinen! Ylivuoto! 2’s ? 2

  13. Kahden komplementtimuotoisten binaarilukujen vähennyslasku Tehdään vastaluvun yhteenlaskuna: P - Q = P + (-Q) Kahden komplementtimuodossa esitetyn luvun vastaluku saadaan komplementoimalla luku merkkibitteineen P - Q = P + (-Q) -Q = kompl (Q)

  14. Kahden komplementtimuotoisten binaarilukujen vähennyslasku Esimerkki: P, Q ja R ovat kahden komplementtimuotoisia lukuja, P = 01001110, Q = 00010111, R = 11001000 Laske P - Q, P - R ja Q - R Muodostetaan ensin komplementoimalla -Q ja -R. Q = 00010111  -Q = 11101001R = 11001000  -R = 00111000 Merkkibitti mukaan komplementointiin C Q -R + S C P -R + S C P -Q + S 0 1 0 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0 0 0 1 1 0 1 0 0 1 1 0 1 0 0 0 1 1 1 0 1 0 1 0 0 1 0 1 1 0 1 0 1 0 0 0 1 1 0 1 1 0 0 1 1 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 1 0 1 0 0 1 1 P positiivinen,-Q negatiivinen, S positiivinen P positiivinen,-R positiivinen, S negatiivinen! Ylivuoto! Q positiivinen,-R positiivinen, S positiivinen 2’s ? 3

  15. Binaariluvun kertominen kahden potenssilla Kahden potenssilla kertominen = binaaripilkun siirto eksponentin osoittamalla määrällä oikealle, jos eksponentti on positiivinen (kertolasku) vasemmalle, jos eksponentti on negatiivinen (jakolasku) Kiinteän pilkun esityksessä pilkkua ei voida siirtää  siirretään itse lukua vasemmalle, jos eksponentti on positiivinen (kertolasku) oikealle, jos eksponentti on negatiivinen (jakolasku) Siirrettäessä merkkibitti ei saa muuttua Vasemmalle siirrettäessä kertolaskun tuloksen pitää edelleen mahtua käytettävään sananpituuteen luvun perään lisätään nollia Oikealle siirrettäessä syntyy katkaisuvirhe, jos yksikin poistuva bitti on ykkönen luvun alkuun lisätään merkkibittejä x2n :2n

  16. Kahden komplementtimuotoisen binaariluvun kertominen kahden potenssilla Esimerkki: kerrotaan 23:lla Positiivinen luku Negatiivinen luku 0 0 1 1 1 1 0 0 1 0 1 0 1 0 0 1 1 0 0 1 0 1 1 0 1 0 0 1 1 0 0 1 0 1 1 0 0 1 1 0 1 1 0 0 1 0 1 1 0 0 1 0 1 0 0 0 1 0 0 1 0 0 0 0 x2n (+31410) Siirretty vasemmalle Lisätty nollia ? 4 0 0 0 (+251210) (-31410) Siirretty vasemmalle Lisätty nollia 1 1 1 (-251210)

  17. Kahden komplementtimuotoisen binaariluvun jakaminen kahden potenssilla Esimerkki: jaetaan 23:lla Positiivinen luku Negatiivinen luku 0 0 0 0 0 0 0 1 0 0 1 1 1 0 1 0 0 1 1 0 1 1 0 1 1 1 1 0 0 1 1 1 1 0 1 0 1 0 1 0 0 1 1 0 1 1 1 0 0 0 1 0 0 0 1 0 1 1 1 0 1 0 1 0 :2n (+31410) Lisätty nollia Siirretty oikealle ? 5 (+3910) 0 1 0 (-31410) Lisätty ykkösiä Siirretty oikealle (-4010) 1 1 0

  18. Yhteenveto Yksi- ja monibittisten binaarilukujen laskutoimitukset määritellään laskutaulukoilla Ne toteutetaan aritmeettisilla piireillä puoli-, koko- ja monibittisilläbinaarisummaimilla yhteen- ja vähennyslaskupiireillä Etumerkittömien binaarilukujen vertailu tehdään yhtäsuuruuden vertailupiirillä keskinäisen suuruuden vertailupiirillä Kahden komplementtimuotoisten binaarilukujen yhteen- ja vähennyslasku ovat yksinkertaisia Kahden komplementtimuotoisen binaariluvun kertominen tai jakaminen kahden potenssilla tehdään siirtämällä lukua vasemmalle tai oikealle

More Related