Hur konverterar jag ett tal från decimal till IEEE 754 flytpunktsrepresentation?

Ta numret som du vill konvertera
Ta numret som du vill konvertera och ta isär numret så att du har en heltaldel och ett decimaltal.

Till skillnad från människor använder datorer inte basnummernummer. De använder ett basnummernummer som möjliggör två möjliga representationer, 0 och 1. Således skrivs siffror väldigt annorlunda i IEEE 754 än i det traditionella decimalsystemet som vi är vana vid. I den här guiden lär du dig att skriva ett nummer i både IEEE 754 enkel eller dubbel precision.

För den här metoden måste du veta hur du konverterar tal till binär form. Om du inte vet hur du gör det kan du lära dig hur man konverterar från decimal till binär.

Steg

  1. 1
    Välj enkel eller dubbel precision. När du skriver ett nummer i enkel eller dubbel precision kommer stegen till en lyckad konvertering att vara desamma för båda, den enda ändringen inträffar när du konverterar exponenten och mantissen.
    • Först måste vi förstå vad enstaka precision betyder. Vid flytande representation betraktas varje nummer (0 eller 1) som en "bit". Därför har enstaka precision totalt 32 bitar som är indelade i 3 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 3 delar som enstaka precision; den enda skillnaden är att det blir ett större och mer exakt antal. I det här fallet kommer tecknet att ha 1 bit, exponenten kommer att ha 11 bitar och mantissen kommer att ha 52 bitar.
    • I det här exemplet kommer antalet 85,125 att konverteras till IEEE 754 enstaka precision.
  2. 2
    Separera hela och decimaldelen av numret. Ta det nummer som du vill konvertera och ta isär numret så att du har en heltaldel och ett decimaltal. I detta exempel används siffran 85,125. Du kan separera det i heltal 85 och decimalt 0,125.
    I det här exemplet kommer antalet 85,125 att konverteras till IEEE 754 enstaka precision
    I det här exemplet kommer antalet 85,125 att konverteras till IEEE 754 enstaka precision.
  3. 3
    Konvertera hela talet till binärt. Detta skulle vara 85 från 85,125, vilket kommer att vara 1010101 när det konverteras till binärt.
  4. 4
    Konvertera decimaldelen till binär. Detta skulle vara 0,125 från 85,125, vilket blir 0,001 när det konverteras till binärt.
  5. 5
    Kombinera de två delarna av numret som har konverterats till binär. Till exempel är talet 85 i binärt 1010101 och decimaldelen 0,125 i binärt är 0,001. När du kombinerar dem med en decimal kommer du till slut 1010101,001.
  6. 6
    Konvertera det binära numret till bas 2 vetenskaplig notation. Du kan konvertera talet till bas 2 vetenskaplig notation genom att flytta decimalpunkten åt vänster tills den är till höger om den första biten. Dessa siffror normaliseras vilket innebär att den ledande biten alltid kommer att vara 1. När det gäller exponenten kommer antalet gånger som du flyttade decimaltalet att vara din exponent i bas 2 vetenskaplig notation.
    • Kom ihåg att flytta decimaltalet till vänster kommer att resultera i en positiv exponent medan du flyttar decimalen till höger i en negativ exponent.
    • För vårt exempel måste du flytta decimaltalet 6 gånger för att få det till höger om den första biten. Den resulterande notationen blir 01,010101001 ∗ 26 {\ displaystyle 01,010101001 * 2 ^ {6}} , detta nummer kommer att användas i framtida steg.
    Om du inte vet hur du gör det kan du lära dig hur man konverterar från decimal till binär
    Om du inte vet hur du gör det kan du lära dig hur man konverterar från decimal till binär.
  7. 7
    Bestäm nummertecknet och visa i binärt format. Du kommer nu att avgöra om ditt ursprungliga nummer är positivt eller negativt. Om siffran är positiv registrerar du den biten som 0, och om den är negativ, registrerar du den biten som 1. Eftersom ditt ursprungliga nummer, 85,125, är positivt, kommer du att spela in den biten som 0. Detta kommer att vara första biten av de 32 totala bitarna i din IEEE 754 enda precisionsrepresentation.
  8. 8
    Få exponenten baserat på precision. Det finns inställda förspänningar för både enkel och dubbel precision. Exponentförspänningen för enstaka precision är 127, vilket innebär att vi måste lägga till bas 2-exponenten som hittades tidigare till den. Således är exponenten du använder 127 + 6 vilket är 133.
    • Dubbel precision som uppfattas av namnet är mer exakt och kan innehålla större antal. Därför är dess exponentförspänning 1023. Samma steg som används för enstaka precision gäller här, så exponenten som du kan använda för att hitta dubbel precision är 1029.
  9. 9
    Gör 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. Till exempel kan du konvertera de 133 som du hittade i det sista steget till 10000101.
    I den här guiden lär du dig att skriva ett nummer i både IEEE 754 enkel eller dubbel precision
    I den här guiden lär du dig att skriva ett nummer i både IEEE 754 enkel eller dubbel precision.
  10. 10
    Bestäm mantissan. Mantissaspekten, eller den tredje delen av IEEE 754-omvandlingen, är resten av siffran efter decimaltalet för den vetenskapliga basen 2. Du släpper bara 1 framåt och kopierar decimaldelen av numret som multipliceras med 2. Ingen binär konvertering behövs! Till exempel skulle mantissan vara 010101001 från 01,010101001 ∗ 26 {\ displaystyle 01,010101001 * 2 ^ {6}} .
  11. 11
    Kompilera tre delar till ett slutnummer.
    • Slutligen kommer du att sammanställa allt vi hittills har beräknat till din konvertering. Det börjar först med en 0 eller 1 bit som du bestämde i steg 7 baserat på tecken. För exemplet har du ett 0 för att starta det.
    • Därefter kommer du att ha exponentsektionen som du bestämde i steg 9. Till exempel kommer din exponent att vara 10000101.
    • Nu har du mantissan, som är den tredje och sista delen av omvandlingen. Du härledde detta tidigare när du tog decimaldelen av bas 2-omvandlingen. För exemplet skulle mantissan vara 010101001.
    • Slutligen kombinerar du alla dessa tillsammans. Beställningen ska gå sign-exponent-mantissa. När du har anslutit dessa tre binära siffror fyller du sedan i resten av mantissen med 0s.
    • Till exempel är lösningen 0 10000101 01010100100000000000000 som 85,125 konverterad till IEEE 754-format.
Relaterade artiklar
  1. Hur konverterar man kilometer till mil?
  2. Hur konverterar man kubikfot till m3?
  3. Hur konverterar man tum till fot?
  4. Hur konverterar jag gram till milligram?
  5. Hur konverterar man milligram till teskedar?
  6. Hur konverterar jag gram till pund?
FacebookTwitterInstagramPinterestLinkedInGoogle+YoutubeRedditDribbbleBehanceGithubCodePenWhatsappEmail