Gå til innhold

[Løst]Representasjon av desimale binære tall


Anbefalte innlegg

Videoannonse
Annonse
Hei lurer på hvordan man representerer f.eks. tall som 3.14 binært. Vil ikke bruke float men heller forstå logikken bak det.

 

Det er to måter å gjøre det på: Fixed point, eller floating point. Sistnevnte er den representasjonen man bruker til å representere desimaltall i de fleste programmeringsspråk, for eksempel double i c++.

 

Med floating point deler man tallet opp i to deler, en såkalt mantissa (grunntallet), og en eksponent. ved å variere verdien på eksponenten kan man flytte rundt på kommaet, og dermed få variabel presisjon, noe som er praktisk i mange tilfeller. problemet er at man ofte får avrundingsfeil ved operasjoner på flyttall, noe som som regel ikke er et problem, men kan bli det i enkelte tilfeller, som for eksempel økonomiprogramvare eller digitale filtre.

 

Med fixed point står kommaet på samme sted hele tiden. verdiene til de ulike plasseringene vil til venstre for kommaet være det samme som for heltall, altså 2^0, 2^1, 2^2 osv. til høyre for kommaet blir det tilsvarende 2^-1, 2^-2, 2^-3 osv.

 

Mindre fleksibelt siden man har ikke-variabel presisjon, men operasjonene kan utføres på mye enklere hardware, og man får ikke avrundingsfeil som for flyttall.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...