Forsinket representasjon Hvis vi har tall som spenner fra -8 til 8, kan vi fjerne tegnet ved å legge til 8 til alle eller tallene. Tallene vil da være 0 til 16. Det er heller som å skifte skalaen (som ved å konvertere Celsius til Kelvin) for å oppnå bare positive verdier. Denne representasjonen tillater operasjoner på de forspente tallene å være de samme som for usignerte heltall, men representerer faktisk både positive og negative verdier. Denne metoden kalles av flere navn - Over-K. også kalt offset binær eller partisk representasjon. bruker en fast verdi K som en forspenningsverdi. En verdi er representert ved usignert nummer som er K større enn den tiltenkte verdien. Således representeres 0 av K, og minusK er representert ved all-nullerbitmønsteret. Dette kan ses som en liten modifikasjon av to-komplement. som er nesten den overskytende 2Nminus1-representasjonen med negert mest signifikant bit. Forsinkede representasjoner brukes nå primært til eksponenten av flytende punktnumre. IEEE-flytpunktstandarden definerer eksponentfeltet for et enkelt-presisjon (32-biters) - nummer som et 8-biters overskudd-127-felt. Forsinkede representasjonseksempler Eksempel 1: gitt 4 biter, forspenningsverdier med 2 3 (8) SANT VERDI for å bli representert 3 legg til forspenning 3 8 11 usignert verdi 11 Således vil 3 i 4-biters forspent-8 representasjon være 1011 Eksempel 2: gitt en partisk-8-representasjon som 0110 hva er den sanne verdien usignert 0110 representerer desimal 6 trekker ut bias 6 - 8 -2 SANT VALUE representert -2Signed Int: BiasExcess Notation I overskuddnotasjon angir du to parametere: antall bits, N, og biasverdien, K. I SM og 1C er det bare en parameter: antall biter. For eksempel, la K 5 (i 3 biter), og du har overskytende 5 representasjon, som tilordner 000 til -5 og gjør 111 lik 2. Faktisk kartlegger overskytende K-representasjon 0 N til - K og 1 N til - K 2 N - 1. Hvis du velger K 2 N - 1., blir tegnebiten vendt, hvor 1 i MSb betyr positiv, og 0 betyr negativ. Med overskytende (eller bias) representasjon, kan du ikke legge til ved hjelp av usignert int tillegg hardware. Du trenger en spesialisert krets for å utføre tillegget. Dette diagramet antar overskytende K-representasjon. Antall verdier Basis 10 til Overskudd Legg til overskudd til basen ti tall. Konverter den resulterende basen ti tall til usignert binær (UB). Overskudd til Base 10 Konverter binærtall til base ti, ved hjelp av usignert binær (UB) - representasjon. Trekk overskuddet. Det er lett å se at konvertering til og fra overskytende representasjon er inverse operasjoner. Hvorfor overskudd er forskjellig De andre signerte representasjonene vi har sett: SM, 1C og 2C deler alle antallet negative og ikke-negative verdier jevnt. I prinsippet kan du også gjøre det med overdreven representasjon. Men siden overskytende K-representasjon ved hjelp av N-bits har to parametere, K og N, kan du velge K for å være det du vil. Du kan ha flere positive tall enn negative, ikke inkludere null, og så videre. Fordi overskytende K-representasjon bruker to variabler (K og N), vil hvilken maskinvare som er utformet for å utføre tillegg i denne representasjonen avhenge av både K og N. Heldigvis er sorteringsverdier i overskytende representasjon bare avhengig av N. Som 2C har overskytende representasjon ved mest, ett null. Imidlertid er det mulig å velge K så det er ingen null (velg en passende stor K). I motsetning til de andre signerte intrepresentasjoner, kan du sammenligne verdier i overdreven representasjon ved hjelp av usignert sammenligning. Men de fleste foretrekker å gjøre tillegg riktig til sammenligning, og derfor er 2C foretrukket for overskytende notering. Overdriven notasjon finner en bruk i flytende poengrepresentasjon, men derfor studerer vi det. Ved å lære hvordan flytende poengstall er representert i datamaskiner, har jeg kommet over begrepet biasverdi som jeg ikke forstår riktig. Forspenningsverdien i flytpunktstall har å gjøre med den negative og positiviteten til eksponentdelen av et flytpunktsnummer. Forspenningsverdien til et flytpunktsnummer er 127, noe som betyr at 127 alltid er lagt til eksponentdelen av et flytpunktsnummer. Hvordan gjør dette hjelpe med å avgjøre om eksponenten er negativ eller positiv eller ikke spurt 14. mai 10 kl 15:17 b0lt har allerede forklart hvordan bias fungerer. På et gjetning, kanskje du liker å vite hvorfor de bruker en biasrepresentasjon her, selv om nesten alle moderne datamaskiner bruker to komplementer, hovedsakelig andre steder (og til og med maskiner som ikke bruker to komplementer, bruker de komplement eller sign-magnitude, ikke bias) . Et av målene for IEEE-flytpunktstandardene var at du kunne behandle brikkene i et flytende punktnummer som et (signert) heltall av samme størrelse, og hvis du sammenlignet dem på den måten, vil verdiene sortere i samme rekkefølge som de flytende punkt tallene de representerte. Hvis du brukte en to-komplement-representasjon for eksponenten, ville et lite positivt tall (det vil si med en negativ eksponent) se ut som et veldig stort heltall fordi den andre MSB ville bli satt. Ved å bruke en biasrepresentasjon i stedet, går du ikke inn i det - en mindre eksponent i flytpunktet ser alltid ut som et mindre heltall. FWIW, dette er også grunnen til at flytende punktnumre vanligvis er arrangert med tegnet først, deretter eksponenten, og til slutt signifikansen i de minst signifikante bitene - på denne måten, hvis du ser disse bitene som et heltall, blir eksponenten behandlet som mer signifikant enn significand, slik at du ikke får (for eksempel) 0,9 sortering større enn 1,0. besvart 14 mai 10 kl 15:44 Legge til flere detaljer til svarene ovenfor. For å representere 0. uendelig og NaN (Not-a-Number) i flytpunkt, bestemte IEEE å bruke spesielle kodingsverdier. Hvis alle bitene i eksponentfeltet er satt til 0, er flytpunktet 0,0. Hvis alle biter av eksponentfeltet er satt til 1 og alle biter av fraksjonsdelen er 0, er flytpunktsnummeret uendelig. Hvis alle biter av eksponentfeltet er satt til 1 og alle biter av brøkdel ikke er lik 0, er flytpunktsnummeret NaN. Så, i presisjon har vi 8 biter for å representere eksponentfeltet, og det er 2 spesielle verdier, så vi har i utgangspunktet 256 - 2 254 verdier som kan representeres i eksponenten. Så kan vi effektivt representere -126 til 127 i eksponenten, det vil si 254 verdier (126 127 1), 1 legges til 0. besvart apr 21 13 kl 3:14
Comments
Post a Comment