Konverter et desimaltall til binært IEEE 754-format

Forfatter: John Pratt
Opprettelsesdato: 15 Februar 2021
Oppdater Dato: 1 Juli 2024
Anonim
Konverter et desimaltall til binært IEEE 754-format - Råd
Konverter et desimaltall til binært IEEE 754-format - Råd

Innhold

I motsetning til mennesker bruker datamaskiner ikke desimaltallsystemet. De bruker et binært eller binært tallsystem med to mulige sifre, 0 og 1. Så tall skrives veldig annerledes i IEEE 754 (en standard for IEEE for å representere binære tall med et flytende punkt) enn i det tradisjonelle desimalsystemet som vi være vant til. I denne artikkelen vil du lære hvordan du skriver et tall i enten enkel eller dobbel presisjon i henhold til IEEE 754. For denne metoden trenger du å vite hvordan du konverterer tall til binær form. Hvis du ikke vet hvordan du gjør dette, kan du lære dette ved å studere artikkelen Converting Binary to Decimal.

Å trå

  1. Velg enkel eller dobbel presisjon. Når du skriver et tall i enkel eller dobbel presisjon, vil trinnene til en vellykket konvertering være de samme for begge. Den eneste endringen skjer i konvertering av eksponenten og mantissen.
    • Først må vi forstå hva enkelt presisjon betyr. I flytepunktrepresentasjonen betraktes hvilket som helst tall (0 eller 1) som en "bit". Derfor har en enkelt presisjon totalt 32 biter fordelt på tre forskjellige fag. Disse emnene består av et tegn (1 bit), en eksponent (8 bits) og en mantissa eller brøk (23 bits).
    • Dobbelt presisjon har derimot samme oppsett og de samme tre delene som enkelt presisjon - den eneste forskjellen er at det vil være et større og mer nøyaktig tall. I dette tilfellet vil tegnet ha 1 bit, eksponenten 11 bits og mantissaen 52 bits.
    • I dette eksemplet skal vi konvertere tallet 85.125 til enkelt presisjon i henhold til IEEE 754.
  2. Skill tallet før og etter desimaltegnet. Ta tallet du vil konvertere, og skille det slik at du sitter igjen med et helt tall og et desimaltall. I dette eksemplet antar vi tallet 85,125. Du kan skille dette inn i heltallet 85 og desimalt 0,125.
  3. Konverter hele tallet til et binært tall. Dette blir 85 av 85,125, som blir 1010101 når den konverteres til binær.
  4. Konverter desimaldelen til et binært tall. Dette er 0,125 av 85,125, som blir 0,001 i binært format.
  5. Kombiner de to delene av tallet som er konvertert til binære tall. Tallet 85 er binært for eksempel 1010101 og desimaldelen 0,125 er binært 0,001. Hvis du kombinerer dem med et desimaltegn, får du 1010101.001 som det endelige svaret.
  6. Konverter det binære tallet til binær vitenskapelig notasjon. Du kan konvertere tallet til binær vitenskapelig notasjon ved å flytte desimaltegnet til venstre til det er til høyre for den første biten. Disse tallene normaliseres, noe som betyr at den ledende biten alltid vil være 1. Når det gjelder eksponenten, er antallet ganger du flytter desimal eksponenten i binær vitenskapelig notasjon.
    • Husk at å flytte desimalen til venstre gir en positiv eksponent, mens å flytte desimalen til høyre gir en negativ eksponent.
    • I vårt eksempel må du flytte desimalen seks ganger for å få den til høyre for den første biten. Det resulterende formatet blir deretter 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Bestem tegnet på nummeret og vis det i binært format. Du vil nå bestemme om det opprinnelige tallet er positivt eller negativt. Hvis tallet er positivt, skriv den biten som 0, og hvis den er negativ, som 1. Siden det opprinnelige tallet er 85,125 positivt, skriv den biten som 0. Dette er nå den første biten av de 32 totale bitene i din eneste presisjon gjengivelse i henhold til IEEE 754.
    • Bestem eksponenten basert på presisjonen. Det er fast skjevhet for både enkel og dobbel presisjon. Eksponentforspenningen for enkelt presisjon er 127, noe som betyr at vi må legge til den tidligere funnet binære eksponenten. Så eksponenten du skal bruke er 127 + 6 = 133.
      • Dobbelt presisjon, som navnet antyder, er mer nøyaktig og kan inneholde større tall. Derfor eksponentens skjevhet 1023. De samme trinnene som brukes for enkelt presisjon gjelder her, så eksponenten du kan bruke til å bestemme dobbel presisjon er 1029.
    • Konverter eksponenten til binær. Når du har bestemt din endelige eksponent, må du konvertere den til binær slik at den kan brukes i IEEE 754-konverteringen. I eksemplet kan du konvertere de 133 du fant i det siste trinnet til 10000101.
    • Bestem mantissaen. Mantissaspektet, eller den tredje delen av IEEE 754-konverteringen, er resten av tallet etter desimalet i vitenskapelig binær notasjon. Du slipper bare 1 foran og kopierer desimaldelen av tallet som multipliseres med to. Ingen binær konvertering er nødvendig! I eksemplet blir mantissen 010101001 av 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Til slutt, kombiner tre deler i ett nummer.
      • Til slutt kombinerer du alt vi har beregnet så langt i konverteringen. Tallet starter først med et 0 eller 1 som du bestemte i trinn 7 basert på tegnet. I eksemplet starter du med en 0.
      • Så har du eksponenten som du bestemte i trinn 9. I eksemplet er eksponenten 10000101.
      • Så kommer mantissaen, den tredje og siste delen av konverteringen. Du utledet dette tidligere da du tok desimaldelen av binær konvertering. I eksemplet er mantissa 010101001.
      • Til slutt kombinerer du alle disse tallene med hverandre. Bestillingen er sign-exponent-mantissa. Etter å ha koblet til disse tre binære tallene, fyll ut resten av mantissen med nuller.
      • For eksempel er konvertering av 85,125 til det binære IEEE 754-formatet løsningen 0 10000101 01010100100000000000000.