Monday, 27 November 2017

Sign Magnitude Representasjon Binære Alternativer


Problemer med sign-magnitude Det er problemer med sign-magnitude representasjon av heltall. La oss bruke 8-bit sign-magnitude for eksempler. Den venstre biten brukes til tegnet, som etterlater sju biter for størrelsen. Størrelsen bruker 7-bits usignert binær, som kan representere 0 10 (som 000 0000) opptil 127 10 (som 111 1111). Den åttende bit gjør disse positive eller negative, noe som resulterer i -127 10. -0, 0. 127 10. Et mønster tilsvarer minus null, 1000 0000. En annen tilsvarer pluss null, 0000 0000. Det er flere problemer med sign-magnitude. Det fungerer bra for å representere positive og negative heltall (selv om de to nullene er plagsomme). Men det virker ikke bra i beregningen. En god representasjonsmetode (for heltall eller for noe) må ikke bare kunne representere objektene av interesse, men må også støtte operasjoner på disse objektene. Dette er hva som er galt med romerske tall: de kan representere positive heltall, men de er svært dårlige når de brukes i beregning. SPØRSMÅL 13: Kan binær tilleggs algoritmen bli brukt med sign-magnitude representasjon Prøv å legge til 16 med -24: Siden det er 256 mulige bitmønstre med 8 biter, kan det være 128 positive og 128 negative heltall. Du har kanskje tenkt på sign-magnitude-metoden, diskutert nedenfor. Sign-Magnitude Representation Det er mange ordninger for å representere negative heltall med biter av mønster. En ordning er sign-magnitude. Den bruker en bit (vanligvis venstre) for å indikere tegnet. 0 indikerer et positivt heltall, og 1 indikerer et negativt heltall. Resten av bitene brukes til størrelsen på nummeret. Så -24 10 er representert som: SPØRGSMÅL 12: Med 8-biters sign-magnitude representasjon, hvilke positive heltall kan representeres og hvilke negative heltall kan representeres. Signerte binære tall. Men når vi håndterer negative tall bruker vi et - ve-tegn foran nummeret for å vise at tallet er negativt i verdi og forskjellig fra en positiv usignert verdi, og det samme gjelder for signerte binære tall. Men i digitale kretser er det ingen bestemmelse gjort for å sette et pluss eller til og med et minustegn til et tall, siden digitale systemer opererer med binære tall som er representert i henhold til 822008217s8221 og 822018217s8221. Når de brukes sammen i mikroelektronikk, disse 822018217s8221 og 822008217s8221, som kalles litt (som er en sammentrekning av Binary DigiT), faller i flere rekkeviddestørrelser av tall som omtales av vanlige navn, for eksempel en byte eller et ord. Vi har også sett tidligere at et 8-bit binært nummer (en byte) kan ha en verdi som varierer fra 0 (00000000 2) til 255 (11111111 2), det er 2 8 256 forskjellige kombinasjoner av biter som danner en enkelt 8-bit byte . Så for eksempel et usignert binært nummer som: 01001101 2 64 8 4 1 77 10 i desimal. Men digitale systemer og datamaskiner må også kunne bruke og til å manipulere negative tall så vel som positive tall. Matematiske tall består vanligvis av et tegn og en verdi (størrelsesorden) der tegnet indikerer om tallet er positivt, () eller negativt, () med verdien som indikerer størrelsen på tallet, for eksempel 23, 156 eller - 274. Presentere tall er denne måten kalles 8220sign-magnitude8221 representasjon siden venstre siffer kan brukes til å indikere tegnet og de resterende sifrene størrelsen eller verdien av nummeret. Sign-magnitude notation er den enkleste og en av de vanligste metodene for å representere positive og negative tall på hver side av null, (0). Dermed blir negative tall oppnådd ved å endre tegnet på det tilsvarende positive tallet da hvert positivt eller usignert tall vil ha et signert motsatte, for eksempel 2 og -2, 10 og -10 osv. Men hvordan representerer vi signerte binære tall hvis alt vi har er en haug med one8217s og zero8217s. Vi vet at binære tall eller biter kun har to verdier, enten 822018221 eller 822008221, og et tegn har også bare to verdier, en 8220 8221 eller en 8220 8220. Da kan vi bruke en enkeltbit for å identifisere tegnet på et signert binært nummer. Så for å representere et positivt (N) og et negativt (-N) binært tall kan vi bruke binære tall med tegn. For signerte binære tall brukes den mest signifikante biten (MSB) som tegnet. Hvis tegnbiten er 822008221, betyr dette at tallet er positivt. Hvis tegnbiten er 822018221, er tallet negativt. De resterende biter brukes til å representere størrelsen på det binære nummeret i det vanlige usignerte binære nummerformatet. Da kan vi se at Sign-and-Magnitude (SM) - notasjonen lagrer positive og negative verdier ved å dividere 8220n8221 totalbitene i to deler: 1 bit for tegn og n1 bits for verdien som er et rent binært tall. For eksempel kan desimalnummeret 53 uttrykkes som et 8-bits signert binært nummer som følger. Positive signerte binære tall Negative signerte binære tall Ulempen her er at mens før vi hadde et n-bit usignert binærtall, har vi nå et n-1 bit signert binært nummer som gir et antall siffer fra: - (2 (n-1) ) til (2 (n-1) 8211 1) Så for eksempel: Hvis vi har 4 biter til å representere et signert binært nummer, (1-bit for Sign bit og 3-bits for Magnitude bits) av tall som vi kan representere i signaturstørrelse notasjon vil være: - (2 (4-1)) til (2 (4-1) 8211 1) -2 (3) til 2 (3) 8211 1 av et usignert 4-bits binært nummer ville ha vært fra 0 til 15. eller 0 til F i heksadesimale. Med andre ord, usignert binær aritmetikk har ikke en sign-bit, og kan derfor ha et større binært område fordi den mest signifikante bit (MSB) er bare en ekstra bit eller siffer i stedet for en tegnbit. Signerte binære tall Eksempel No1 Konverter følgende desimalverdier til signerte binære tall ved hjelp av formatet sign-magnitude: -15 10 som et 6-biters nummer. Merk at for en 4-bits, 6-bits, 8-bits, 16-biters eller 32-biters signert binærtall alle biter må ha en verdi, derfor er 822008217s8221 brukt til å fylle mellomromene mellom den venstre signaturbiten og den første eller høyeste verdien 822018221. Signalstørrelsesrepresentasjonen av et binært tall er en enkel metode for bruk og forstå for å representere signerte binære tall, da vi bruker dette systemet hele tiden med vanlige desimaltall (base 10) tall i matematikk. Legge til en 822018221 på forsiden av den hvis binærnummeret er negativt og en 822008221 hvis det er positivt. Bruk av denne sign-magnitude-metoden kan imidlertid føre til at to forskjellige bitmønstre har samme binære verdi. For eksempel vil 0 og -0 være henholdsvis 0000 og 1000 som et signert 4-bits binært nummer. Så vi kan se at ved hjelp av denne metoden kan det være to representasjoner for null, en positiv null (0 000 2) og også en negativ null (1 000 2) som kan forårsake store komplikasjoner for datamaskiner og digitale systemer. One8217s komplement til et signert binært nummer One8217s Complement eller 18217s Complement som det også kalles, er en annen metode som vi kan bruke til å representere negative binære tall i et signert binærtallsystem. I one8217s-komplementet forblir positive tall (også kjent som ikke-komplementer) uendret som før med sign-magnitude tallene. Negative tall er imidlertid representert ved å ta one8217s-komplementet (inversjon, negasjon) av det usignerte positive nummeret. Siden positive tall alltid starter med en 822008221, starter komplementet alltid med en 822018221 for å indikere et negativt tall. One8217-komplementet til et negativt binært tall er komplementet til dets positive motpart, så for å ta de to komplementene til et binært tall, er alt vi trenger å gjøre for å endre hver bit i sin tur. Dermed er komplementet til 822018221 822008221 og omvendt, da er komplementet til 10010100 2 rett og slett 01101011 2 da alle 18217 er endret til 08217s og 08217s til 18217s. Den enkleste måten å finne en8217-komplementet til et signert binært nummer når du bygger digitale aritmetiske eller logiske dekoderkretser, er å bruke omformere. Omformeren er naturlig en komplementgenerator og kan brukes parallelt for å finne 18217-komplementet til et binært nummer som vist. 18217s Complement Using Inverters Da kan vi se at det er veldig enkelt å finne de komplementene til et binært nummer N som alt vi trenger å gjøre er å bare endre 1s til 0s og 0s til 1s for å gi oss en - N-ekvivalent. I likhet med den forrige signaturstørrelsesrepresentasjonen kan en8217s komplement også ha n-bit notasjon som representerer tall i området fra: -2 (n-1) og 2 (n-1) 8211 1. For eksempel er en 4- bitrepresentasjon i komplementformatet kan brukes til å representere desimaltall i området fra -8 til 7 med to representasjoner på null: 0000 (0) og 1111 (-0) det samme som før. Tillegg og subtraksjon ved hjelp av One8217s komplement En av de største fordelene ved One8217s Complement er i tillegg og subtraksjon av to binære tall. I matematikk kan subtraksjon implementeres på en rekke forskjellige måter, da A B. er det samme som å si A (-B) eller - B A osv. Derfor kan komplikasjonen for å subtrahere to binære tall utføres ved ganske enkelt å bruke tillegg. Vi så i Binary Adder-opplæringen at binær tillegg følger de samme reglene som for det normale tillegget, bortsett fra at i binær er det bare to biter (sifre) og det største sifferet er 822018221, (like 822098221 er det største desimalcifret) De mulige kombinasjonene for binær tillegg er som følger: Når de to tallene som skal legges til er begge positive, kan summen A B. de legges sammen ved hjelp av direkte summen (inkludert tallet og bittegnet), fordi når enkeltbiter blir lagt sammen, 82200 08221, 82200 18221 eller 82201 08221 resulterer i summen 822008221 eller 822018221. Dette skyldes at når de to bitene vi ønsker å bli lagt sammen er merkelige (822008221 822018221 eller 82201 08221), er resultatet 822018221. På samme måte når de to bitene som skal legges sammen er like (82200 08221 eller 82201 18221), blir resultatet 822008221 til du kommer til 82201 18221 da summen er lik 822008221 pluss en bære 822018221. Let8217s ser på et enkelt eksempel. Subtraksjon av to binære tall Et 8-bits digitalt system kreves for å subtrahere de følgende to tallene 115 og 27 fra hverandre ved bruk av one8217s komplement. Så i desimal ville dette være: 115 8211 27 88. Først må vi konvertere to desimalnumre til binær og sørge for at hvert tall har samme antall biter ved å legge til ledende zero8217s for å produsere et 8-biters nummer (byte). Derfor: 115 10 i binær er: 01110011 2 27 10 i binær er: 00011011 2 Nå må vi finne komplementet til det andre binære nummeret, (00011011) mens du forlater det første nummeret (01110011) uendret. Så ved å endre alle 18217s til 08217s og 08217s til 18217s, er en8217s-komplementet til 00011011 derfor lik 11100100. Å legge til det første nummeret og komplementet til det andre nummeret gir: Overflow 1 01010111 Siden det digitale systemet skal fungere med 8-bits, blir bare de første åtte sifrene brukt til å gi svaret på summen, og vi ignorerer bare den siste biten (bit 9). Denne biten kalles en 8220overflow8221 bit. Overflow oppstår når summen av den mest signifikante (venstre) kolonnen produserer en fremføring. Denne overløp eller bærebiten kan ignoreres helt eller overføres til neste digitale seksjon for bruk i beregningene. Overflyt indikerer at svaret er positivt. Hvis det ikke er overløp så er svaret negativt. 8-biters resultat fra oven er: 01010111 (overløpet 822018221 avbryter) og for å konvertere det fra et one8217s komplement svar til det virkelige svaret må vi nå legge 822018221 til one8217s komplementresultat, derfor: Så resultatet av å trekke 27 (00011011 2) fra 115 (01110011 2) ved bruk av 18217s komplement i binær gir svaret på: 01011000 2 eller (64 16 8) 88 10 i desimal. Da kan vi se at signerte eller usignerte binære tall kan trekkes fra hverandre ved hjelp av One8217s Complement og tilleggsprosessen. Binære tilførsler som TTL 74LS83 eller 74LS283 kan brukes til å legge til eller trekke ut to 4-biters signerte binære tall eller kaskad sammen for å produsere 8-biters adders komplett med utføring. Two8217s Komplement til et signert binært nummer Two8217s Complement eller 28217s Complement som det også kalles, er en annen metode som forrige tegnstørrelse og one8217s komplementform, som vi kan bruke til å representere negative binære tall i et signert binærtallsystem. I to8217-komplementet er de positive tallene nøyaktig de samme som tidligere for usignerte binære tall. Et negativt tall er imidlertid representert av et binært tall, som når det legges til tilsvarende positive ekvivalente resultater i null. I to8217s komplementform er et negativt tall 28217-komplementet til det positive tallet med subtraksjonen av to tall som er ABA (28217s komplement av B) ved å bruke mye samme prosess som før som i utgangspunktet er to8217s komplement et8217s komplement 1. Hovedfordelen av to8217s komplement over det forrige one8217s komplementet er at det ikke er noe dobbelt null problem pluss det er mye lettere å generere de to komplementene til et signert binært nummer. Derfor er aritmetiske operasjoner relativt enklere å utføre når tallene er representert i to-komplementformatet. Let8217 ser på subtraksjonen av våre to 8-biters tallene 115 og 27 fra oven ved hjelp av to8217s komplement, og vi husker fra over at de binære ekvivalenter er: 115 10 i binær er: 01110011 2 27 10 i binær er: 00011011 2 Våre tall er 8 bit lange, så er det 2 8 siffer som er tilgjengelige for å representere våre verdier, og i binær er dette 100000000 2 eller 256 10. Da vil to8217s-komplementet på 27 10 være: (2 8) 2 00011011 100000000 00011011 11100101 2 Komplementeringen av det andre negative tallet betyr at subtraksjonen blir et mye lettere tillegg av de to tallene, så summen er således: 115 (28217s komplement av 27) som er: 01110011 11100101 1 01011000 2 Som tidligere, ignoreres det 9. overløpsbiten som vi bare er interessert i de første 8 bitene, så resultatet er: 01011000 2 eller (64 16 8) 88 10 i desimalt samme som før. Sammendrag av signerte binære tall Vi har sett at negative binære tall kan representeres ved å bruke den mest signifikante biten (MSB) som tegnbit. Hvis et n-bit binært tall er signert, brukes den venstre biten til å representere skiltet som forlater n-1 biter for å representere tallet. For eksempel, i et 4-bit binært tall, forlater dette bare 3 biter for å holde det faktiske nummeret. Hvis imidlertid det binære tallet er usignert, kan alle bitene brukes til å representere nummeret. Representasjonen av et signert binærtall refereres vanligvis til som signaturstørrelsesnotasjonen, og hvis tegnebiten er 822008221, er tallet positivt. Hvis tegnbiten er 822018221, er tallet negativt. Når det gjelder binære aritmetiske operasjoner, er det mer praktisk å bruke komplementet til det negative tallet. Komplementering er en alternativ måte å representere negative binære tall på. Dette alternative kodningssystemet muliggjør subtraksjon av negative tall ved å bruke enkle tillegg. Siden positive sign-magnitude tall starter alltid med null (0), vil komplementet derfor alltid starte med en (1) for å indikere et negativt tall som vist i tabellen nedenfor. 4-biters signert binærtallsammenligning Signerte komplementformer av binære tall kan bruke enten 18217s komplement eller 28217s komplement. 18217-komplementet og 28217-komplementet til et binært tall er viktige fordi de tillater representasjon av negative tall. Metoden for 28217s komplementarithetikk brukes ofte i datamaskiner til å håndtere negative tall. Den eneste ulempen er at hvis vi ønsker å representere negative binære tall i det signerte binære nummerformatet, må vi gi opp noen av rekkevidden av det positive nummeret vi hadde før . 27 Kommentarer Bli med i samtalen Feil Vennligst fyll ut alle feltene. Grunnleggende for annonsører Aspencore Nettverk Koble til oss Alt innhold er Copyright kopien 2016 av AspenCore, Inc. Alle rettigheter reservert.

No comments:

Post a Comment