Konvertera ett decimaltal till binärt IEEE 754-format

Författare: John Pratt
Skapelsedatum: 15 Februari 2021
Uppdatera Datum: 1 Juli 2024
Anonim
Konvertera ett decimaltal till binärt IEEE 754-format - Råd
Konvertera ett decimaltal till binärt IEEE 754-format - Råd

Innehåll

Till skillnad från människor använder datorer inte decimaltalssystemet. De använder ett binärt eller binärt talsystem med två möjliga siffror, 0 och 1. Så siffror skrivs mycket annorlunda i IEEE 754 (en standard för IEEE för att representera binära tal med flytande punkt) än i det traditionella decimalsystemet som vi vara van vid. I den här artikeln lär du dig hur du skriver ett nummer i antingen enkel eller dubbel precision enligt IEEE 754. För den här metoden behöver du veta hur du konverterar tal till binär form. Om du inte vet hur du gör det kan du lära dig detta genom att studera artikeln Converting Binary to Decimal.

Att gå

  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 förändringen sker i konvertering av exponenten och mantissan.
    • Först måste vi förstå vad enstaka precision betyder. I den flytande punktrepresentationen betraktas valfritt tal (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 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 11 bitar och mantissan 52 bitar.
    • I det här exemplet kommer vi att konvertera talet 85.125 till enstaka precision enligt IEEE 754.
  2. Separera numret före och efter decimaltecken. Ta numret du vill konvertera och separera det så att du har ett heltal och ett decimaltal. I det här exemplet antar vi siffran 85,125. Du kan separera detta i heltal 85 och decimalt 0,125.
  3. Konvertera hela talet till ett binärt tal. Detta blir 85 av 85,125, vilket blir 1010101 när det konverteras till binärt.
  4. Konvertera decimaldelen till ett binärt tal. Detta är 0,125 av 85,125, vilket blir 0,001 i binärt format.
  5. Kombinera de två delarna av numret som har konverterats till binära tal. Siffran 85 är binär till exempel 1010101 och decimaldelen 0,125 är binär 0,001. Om du kombinerar dem med en decimal får du 1010101.001 som det slutliga svaret.
  6. Konvertera binärt tal till binär vetenskaplig notation. Du kan konvertera siffran till binär 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 är antalet gånger du flyttar decimaltalet exponenten i binär vetenskaplig notation.
    • Kom ihåg att flytta decimaltalet till vänster ger en positiv exponent, medan flyttning av decimaltalet till höger ger en negativ exponent.
    • I vårt exempel måste du flytta decimaltalet sex gånger för att få det till höger om den första biten. Det resulterande formatet blir sedan 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Bestäm numret och visa det i binärt format. Du kommer nu att avgöra om det ursprungliga numret är positivt eller negativt. Om talet är positivt, skriv den biten som 0, och om den är negativ, som 1. Eftersom det ursprungliga talet är 85.125 positivt, skriv den biten som 0. Detta är nu den första biten av de 32 totala bitarna i din enda precision återgivning enligt IEEE 754.
    • Bestäm exponenten baserat på precisionen. Det finns fast förspänning för både enkel och dubbel precision. Exponentförspänningen för enstaka precision är 127vilket betyder 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 innehålla större antal. Därav exponentens fördom 1023. Samma steg som används för enstaka precision gäller här, så exponenten som du kan använda för att bestämma dubbel precision är 1029.
    • 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 som du hittade i det sista steget till 10000101.
    • Bestäm mantissan. Mantissaspekten, eller den tredje delen av IEEE 754-omvandlingen, är återstoden av talet efter decimaltalet för vetenskaplig binär notation. Du släpper bara 1 framför och kopierar decimaldelen av numret som multipliceras med två. Ingen binär konvertering krävs! I exemplet blir mantissen 010101001 av 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Slutligen kombinera tre delar i ett nummer.
      • Slutligen kombinerar du allt vi hittills har beräknat i din konvertering. Numret börjar först med ett 0 eller 1 som du bestämde i steg 7 baserat på tecknet. I exemplet börjar du med ett 0.
      • Då 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 alla dessa siffror med varandra. Ordern är sign-exponent-mantissa. När du har anslutit dessa tre binära nummer, fyll i resten av mantissen med nollor.
      • Till exempel är att konvertera 85.125 till det binära IEEE 754-formatet lösningen 0 10000101 01010100100000000000000.