Konvertera ett decimaltal till binärt ieee 754-format

Till skillnad från människor använder datorer inte decimaltalsystemet. De använder ett binärt eller binärt talsystem med två möjliga siffror, 0 och 1. Så tal skrivs väldigt annorlunda i IEEE 754 (en IEEE-standard för att representera binära tal med flyttal) än i det traditionella decimalsystem vi är vana vid. I den här artikeln kommer du att lära dig hur du skriver ett nummer i antingen enkel eller dubbel precision enligt IEEE 754. För den här metoden måste du veta hur man konverterar tal till binär form. Om du inte vet hur du gör detta kan du lära dig det genom artikeln Konvertera binär till decimal att studera.

Steg

Bild med titeln Teachme
1. Välj enkel eller dubbel precision. När du skriver ett nummer med enkel eller dubbel precision kommer stegen till en framgångsrik konvertering att vara desamma för båda. Den enda förändringen sker när exponenten och mantissan konverteras.
  • Först måste vi förstå vad enkel precision betyder. I flyttalsvyn betraktas vilket tal som helst (0 eller 1) som en "bit". Därför har en enda precision totalt 32 bitar uppdelade i tre olika ämnen. Dessa ämnen består av ett tecken (1 bit), en exponent (8 bitar) och en mantissa eller bråk (23 bitar).
  • Dubbel precision, å andra sidan, har samma inställning och samma tre delar som enkel precision - den enda skillnaden är att det blir ett större och mer exakt antal. I detta fall blir tecknet 1 bit, exponenten 11 bitar och mantissan 52 bitar.
  • I det här exemplet kommer vi att konvertera talet 85.125 till enkel precision enligt IEEE 754.
Bild med titeln Wholedecimaleperate
2. Separera talet före och efter decimalkomma. Ta talet du vill konvertera och bryt isär talet så att du får ett heltal och ett decimaltal. I det här exemplet antar vi numret 85.125. Du kan dela upp detta i heltal 85 och decimaltal 0,125.
Bild med titeln Wholebinary
3. Konvertera hela talet till ett binärt tal. Detta kommer att vara 85:an av 85,125, som blir 1010101 när den konverteras till binär.
Bild med titeln STEPFO555UR
4. Konvertera decimaldelen till ett binärt tal. Detta är då 0,125 av 85,125, vilket blir 0,001 i binär notation.
Bild med titeln Fivestepsyessir
5. Kombinera de två delarna av talet omvandlat till binära tal. Talet 85 är binärt till exempel 1010101 och decimaldelen 0,125 är binärt 0,001. Om du kombinerar dem med en decimal får du 1010101,001 som slutligt svar.
Bild med titeln SIX6SIX63
6. Konvertera binärt tal till vetenskaplig binär notation. Du kan konvertera talet till vetenskaplig binär notation genom att flytta decimalkomma till vänster tills den är till höger om den första biten. Dessa siffror är normaliserade, vilket innebär att den inledande biten alltid kommer att vara 1. När det gäller exponenten är antalet gånger du flyttar decimalen exponenten i vetenskaplig binär notation.
  • Kom ihåg att flytta decimalen åt vänster ger en positiv exponent, medan flytta decimalen åt höger ger en negativ exponent.
  • I vårt exempel måste du flytta decimalen sex gånger för att få den till höger om den första biten. Den resulterande notationen blir då 01,010101001*26{displaystyle 01.010101001*2^{6}}{displaystyle 01.010101001*2^{6}}. Detta nummer kommer att användas i följande steg.
  • Bild med titeln STEP7ahfdkjashdfj
    7. Bestäm tecknet för talet och visa det i binär notation. Du kommer nu att avgöra om det ursprungliga talet är positivt eller negativt. Om talet är positivt, skriv den biten som 0 och om det är negativt, som 1. Eftersom det ursprungliga talet är 85,125 positivt, skriv den biten som 0. Detta är nu den första biten av totalt 32 bitar i din enda precisionsrepresentation enligt IEEE 754.
    Bild med titeln Step8gdsfgdsfgsdfg
    8. Bestäm exponenten baserat på precisionen. Det finns en fast förspänning för både enkel och dubbel precision. Förspänningen för den enda precisionsexponenten är 127, vilket innebär att vi måste lägga till den tidigare hittade binära exponenten. Så exponenten du ska använda är 127 + 6 = 133.
  • Dubbel precision, som namnet antyder, är mer exakt och kan hålla större siffror. Därför bias exponenten 1023. Samma steg som används för enkel precision gäller här, så exponenten du kan använda för att bestämma dubbel precision är 1029.
  • Bild med titeln STEG 9 sadfhjkashdfk
    9. Konvertera exponenten till binär. När du har bestämt din slutliga exponent måste du konvertera den till binär så att den kan användas i IEEE 754-konverteringen. I exemplet kan du konvertera de 133 du hittade i det sista steget till 10000101.
    Bild med titeln STEP10ALMOSTsdf
    10. Bestäm mantissan. Mantissaspekten, eller den tredje delen av IEEE 754-konverteringen, är resten av talet efter decimalen för vetenskaplig binär notation. Du utelämnar bara 1:an framför och kopierar decimaldelen av talet multiplicerat med två. Ingen binär konvertering krävs! I exemplet blir mantissan 010101001 av 01,010101001*26{displaystyle 01.010101001*2^{6}}{displaystyle 01.010101001*2^{6}}.
    Bild med titeln 11111111EeLEVEN
    11. Slutligen, kombinera tre delar till ett nummer.
  • Slutligen kombinerar du allt vi har beräknat hittills i din konvertering. Numret börjar först med en 0 eller 1 som du bestämde i steg 7 baserat på tecknet. I exemplet börjar du med en 0.
  • Sedan har du exponenten som du bestämde i steg 9. I exemplet är exponenten 10000101.
  • Sedan kommer mantissan, den tredje och sista delen av omvandlingen. Du härledde detta tidigare när du tog decimaldelen av den binära konverteringen. I exemplet är mantissan 010101001.
  • Slutligen kombinerar du dessa siffror med varandra. Ordningen är tecken-exponent-mantissa. Efter att ha kopplat ihop dessa tre binära tal, fyll i resten av mantissan med nollor.
  • Till exempel, om 85.125 konverteras till det binära IEEE 754-formatet är lösningen 0 10000101 01010100100000000000000.

  • Оцените, пожалуйста статью