8-bit repræsentation af flydende punkter

Jeg studerer om at repræsentere brøktal som flydende punktværdier. Det bliver en 8-bit repræsentation. Et eller andet sted i teksten siges det at:

8-bit float-point-repræsentation

“Vi bruger den første bit til at repræsentere tegnet (1 for negativ, 0 for positiv), de næste fire bits for summen af 7 og den faktiske eksponent (vi tilføjer 7 for at muliggøre negative eksponenter) og de sidste tre bits for mantissas “s brøkdel”

Nu spørgsmålet er: Hvorfor skal “7” -og ikke en anden værdi- føjes til den aktuelle eksponent?

Kommentarer

  • Velkommen til CS.SE! Teksten antyder hvorfor i parentes. I øvrigt, hvis du ikke ' ikke forstår forklaringen i en tekst, er det ' ofte nyttigt at søge efter en anden forklaring på emnet . Der er mange ressourcer på flydende punkt.
  • Så hvorfor skulle 7 tilføjes?
  • Hvis du ' har forstået svaret på din første spørgsmål, jeg opfordrer dig til at redigere dit indlæg for at vise, hvad du forstår.

Svar

Med 4 bits, du kan repræsentere 16 forskellige værdier: 0,1, …, 15. Hvis du vil tillade negative eksponenter, er det fornuftigt at tage (ca.) halvdelen af de mulige værdier til at betyde en negativ eksponent. Ved at tilføje 7 til eksponenten kortlægger du værdierne -7, -6, …, 0,1, …, 8 til det repræsentative område. Du vil muligvis også slå to “komplement op.

Kommentarer

  • Så at tilføje 7, kort -7, -6, …, – 1 til deres tilsvarende positive værdier og tilføje en værdi mere end 7 resulterer i en værdi uden for området, der er forkert. Af samme grund tilføjer mindre end 7 til eksponenten løser ' ikke problemet. Tak, jeg ' har fået det, jeg ledte efter.
  • Tilføjelse af forskellige tal ændrer hvilke negative og hvilke positive eksponenter du støtter. Det ' en designbeslutning. Måske er det bare at støtte -1 er nok til din ansøgning.
  • Ja , du har ret. Dette er en designbeslutning, som instruktøren har implementeret gennem tutorial og ikke er ' en streng begrænsning.
  • Beslutningen om at bruge en forskydning i stedet for 2 ' s supplement IIRC var at holde det inverse af den mindste værdi mindre end den største va lue, dvs. for at undgå overløb. Det blev nøje valgt, med andre ord.
  • @KWillets: Forskydningen tillader også, at nul repræsenteres som nuller og giver mulighed for at bruge heltalssammenligninger til sammenligning af flydende punktum (ekskl. Tegnbit)

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *