Konverter et decimaltal til binært IEEE 754-format

Forfatter: John Pratt
Oprettelsesdato: 15 Februar 2021
Opdateringsdato: 1 Juli 2024
Anonim
Konverter et decimaltal til binært IEEE 754-format - Råd
Konverter et decimaltal til binært IEEE 754-format - Råd

Indhold

I modsætning til mennesker bruger computere ikke decimaltalssystemet. De bruger et binært eller binært talesystem med to mulige cifre, 0 og 1. Så tal skrives meget forskelligt i IEEE 754 (en standard for IEEE til at repræsentere binære tal med et flydende punkt) end i det traditionelle decimalsystem, som vi være vant til. I denne artikel lærer du at skrive et nummer i enten enkelt eller dobbelt præcision i henhold til IEEE 754. Til denne metode skal du vide, hvordan du konverterer tal til binær form. Hvis du ikke ved, hvordan du gør dette, kan du lære dette ved at studere artiklen Konvertering af binær til decimal.

At træde

  1. Vælg en enkelt eller dobbelt præcision. Når du skriver et nummer i enkelt eller dobbelt præcision, vil trinene til en vellykket konvertering være de samme for begge. Den eneste ændring finder sted i konvertering af eksponenten og mantissen.
    • Først skal vi forstå, hvad en enkelt præcision betyder. I flydepunktrepræsentationen betragtes ethvert tal (0 eller 1) som en "bit". Derfor har en enkelt præcision i alt 32 bits fordelt på tre forskellige emner. Disse emner består af et tegn (1 bit), en eksponent (8 bit) og en mantissa eller brøkdel (23 bit).
    • Dobbelt præcision har derimod den samme opsætning og de samme tre dele som en enkelt præcision - den eneste forskel er, at det vil være et større og mere nøjagtigt tal. I dette tilfælde vil tegnet have 1 bit, eksponenten 11 bit og mantissen 52 bit.
    • I dette eksempel skal vi konvertere tallet 85.125 til en enkelt præcision i henhold til IEEE 754.
  2. Adskil tallet før og efter decimaltegnet. Tag det nummer, du vil konvertere, og adskille det, så du har et helt tal og et decimaltal. I dette eksempel antager vi tallet 85,125. Du kan adskille dette i heltal 85 og decimal 0,125.
  3. Konverter hele tallet til et binært tal. Dette bliver 85 af 85,125, som bliver 1010101, når de konverteres til binær.
  4. Konverter decimaldelen til et binært tal. Dette er 0,125 af 85,125, hvilket bliver 0,001 i binært format.
  5. Kombiner de to dele af nummeret, der er konverteret til binære tal. Tallet 85 er binært for eksempel 1010101 og decimaldelen 0,125 er binært 0,001. Hvis du kombinerer dem med et decimaltegn, får du 1010101.001 som det endelige svar.
  6. Konverter det binære tal til binær videnskabelig notation. Du kan konvertere nummeret til binær videnskabelig notation ved at flytte decimaltegnet til venstre, indtil det er til højre for den første bit. Disse tal er normaliseret, hvilket betyder, at den forreste bit altid vil være 1. Med hensyn til eksponenten er antallet af gange, du flytter decimalen, eksponenten i binær videnskabelig notation.
    • Husk at flytte decimalen til venstre producerer en positiv eksponent, mens flytning af decimalen til højre producerer en negativ eksponent.
    • I vores eksempel skal du flytte decimalen seks gange for at få det til højre for den første bit. Det resulterende format bliver derefter 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Bestem tegnet på nummeret, og vis det i binært format. Du bestemmer nu, om det oprindelige tal er positivt eller negativt. Hvis tallet er positivt, skal du skrive den bit som 0, og hvis den er negativ, som 1. Da det oprindelige tal er 85.125 positivt, skal du skrive den bit som 0. Dette er nu den første bit af de samlede 32 bits i din eneste præcision gengivelse i henhold til IEEE 754.
    • Bestem eksponenten ud fra præcisionen. Der er fast bias for både enkelt og dobbelt præcision. Den eksponente bias for enkelt præcision er 127, hvilket betyder, at vi skal tilføje den tidligere fundne binære eksponent. Så eksponenten, du vil bruge, er 127 + 6 = 133.
      • Dobbelt præcision, som navnet antyder, er mere præcis og kan rumme større antal. Derfor eksponentens bias 1023. De samme trin, der bruges til en enkelt præcision, gælder her, så eksponenten, du kan bruge til at bestemme dobbelt præcision, er 1029.
    • Konverter eksponenten til binær. Når du har bestemt din endelige eksponent, skal du konvertere den til binær, så den kan bruges i IEEE 754-konverteringen. I eksemplet kan du konvertere de 133, du fandt i det sidste trin, til 10000101.
    • Bestem mantissa. Mantissaspektet, eller den tredje del af IEEE 754-konverteringen, er resten af ​​tallet efter decimaltallet af videnskabelig binær notation. Du udelader bare 1 foran og kopierer decimaldelen af ​​tallet, der ganges med to. Ingen binær konvertering er påkrævet! I eksemplet bliver mantissen 010101001 af 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Til sidst kombineres tre dele til et nummer.
      • Endelig kombinerer du alt, hvad vi hidtil har beregnet i din konvertering. Nummeret starter først med et 0 eller 1, som du bestemte i trin 7 baseret på tegnet. I eksemplet starter du med et 0.
      • Så har du den eksponent, som du bestemte i trin 9. I eksemplet er eksponenten 10000101.
      • Derefter kommer mantissaen, den tredje og sidste del af konverteringen. Du udledte dette tidligere, da du tog decimaldelen af ​​den binære konvertering. I eksemplet er mantissen 010101001.
      • Endelig kombinerer du alle disse tal med hinanden. Ordren er sign-exponent-mantissa. Efter tilslutning af disse tre binære tal skal du udfylde resten af ​​mantissen med nuller.
      • For eksempel er konvertering af 85.125 til det binære IEEE 754-format løsningen 0 10000101 01010100100000000000000.