Laskutoimitukset binaariluvuilla
Download
1 / 18

Laskutoimitukset binaariluvuilla - PowerPoint PPT Presentation


  • 96 Views
  • Uploaded on

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.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Laskutoimitukset binaariluvuilla' - frye


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Laskutoimitukset binaariluvuilla
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


Johdanto
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


Laskutoimitukset yksibittisill binaariluvuilla
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


Puolisummain
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


Monibittisten binaarilukujen yhteen ja v hennyslasku
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


Kokosummain 1
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)

Σ


Kokosummain 2
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

Σ


Monibittiset binaarisummaimet
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


Laskutoimituksia etumerkitt mill binaariluvuilla
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


Etumerkitt mien binaarilukujen vertailu 1
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

=


Etumerkitt mien binaarilukujen vertailu 2
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

>

=

<


Kahden komplementtimuotoisten binaarilukujen yhteenlasku
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


Kahden komplementtimuotoisten binaarilukujen v hennyslasku
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)


Kahden komplementtimuotoisten binaarilukujen v hennyslasku1
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


Binaariluvun kertominen kahden potenssilla
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


Kahden komplementtimuotoisen binaariluvun kertominen kahden potenssilla
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)


Kahden komplementtimuotoisen binaariluvun jakaminen kahden potenssilla
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


Yhteenveto
Yhteenveto potenssilla

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


ad