Kuidas teisendada arvu kümnendsüsteemist IEEE 754 ujukoma esituseks

Erinevalt inimestest ei kasuta arvutid 10 põhinumbrisüsteemi. Nad kasutavad 2. põhiarvusüsteemi, mis võimaldab kahte võimalikku esitust, 0 ja 1. Seega kirjutatakse IEEE 754-s numbreid väga erinevalt kui traditsioonilises kümnendsüsteemis, millega oleme harjunud. Sellest juhendist saate teada, kuidas kirjutada numbreid nii IEEE 754 ühe- kui ka kahekordse täpsusesituses. Selle meetodi jaoks peate teadma, kuidas arve kahendvormingusse teisendada. Kui te ei tea, kuidas seda teha, saate teada, kuidas kümnendsüsteemist binaarseks teisendada.

1
Valige ühe- või kahekordne täpsus. Kui kirjutate arvu ühe- või kahekordse täpsusega, on eduka teisenduse sammud mõlema jaoks samad, ainus muudatus toimub eksponendi ja mantissi teisendamisel. Kõigepealt peame mõistma, mida tähendab üksiktäpsus. Ujukoma esituses peetakse iga arvu (0 või 1) “bitiks”. Seetõttu on üksikul täpsusel kokku 32 bitti, mis on jagatud 3 erinevaks subjektiks. Need objektid koosnevad märgist (1 bitt), eksponendist (8 bitti) ja mantiss või murdosa (23 bitti). Topelttäpsusel on seevastu sama seadistus ja samad 3 osa kui üksiktäpsusel; ainus erinevus on see, et see arv on suurem ja täpsem. Sel juhul , märgil on 1 bitti, eksponendil 11 bitti ja mantissil 52 bitti. Selles näites teisendab numbri 85.125 IEEE 754 ühekordse täpsusega.

2
Eraldage arvu täis- ja kümnendosa. Võtke arv, mille soovite teisendada, ja lahutage arv, nii et teil oleks täisarvu osa ja kümnendarvu osa. Selles näites kasutatakse numbrit 85.125. Saate selle jagada täisarvuks 85 ja kümnendkohaks 0,125.

3
Teisendage täisarv kahendarvuks. See oleks 85 alates 85.125, mis on 1010101, kui teisendada binaarseks.

4
Teisenda kümnendosa binaarseks. See oleks 0,125 85,125-st, mis on binaarseks teisendatuna 0,001.

5
Kombineerige kahendarvuks teisendatud arvu kaks osa. Näiteks on kahendarvuna arv 85 1010101 ja kahendkoodi kümnendosa 0,125 on 0,001. Kui ühendate need kümnendkohaga, saate lõplikuks vastuseks 1010101.001.

6
Teisendage binaararv 2. aluse teaduslikuks tähiseks. Saate teisendada arvu 2. aluse teaduslikuks tähiseks, liigutades koma vasakule, kuni see jääb esimesest bitist paremale. Need arvud on normaliseeritud, mis tähendab, et esibitt on alati 1. Mis puutub eksponendisse, siis kümnendkoha liigutamise arv on teie eksponent 2. aluse teaduslikus tähistuses. Pidage meeles, et kümnendkoha vasakule liigutamine toob kaasa positiivne astendaja, kui liigutate kümnendkoha paremale, tulemuseks on negatiivne astendaja. Meie näite puhul peate koma 6 korda liigutama, et see jõuaks esimesest bitist paremale. Saadud märge on 01.010101001∗26{displaystyle 01.010101001*2^{6}}, seda numbrit kasutatakse edaspidistes sammudes.

7
Määrake numbri märk ja kuvage kahendvormingus. Nüüd saate kindlaks teha, kas teie algne arv on positiivne või negatiivne. Kui arv on positiivne, salvestate selle biti 0-na ja kui see on negatiivne, siis 1. Kuna teie algne arv 85,125 on positiivne, salvestate selle biti 0-na. See on esimene bitt teie IEEE 754 ühe täppisesitluse 32 bitist.

8
Hankige astendaja täpsuse alusel. Nii ühe- kui ka kahekordse täpsuse jaoks on seatud eelarvamused. Üksiku täpsuse eksponendi nihe on 127, mis tähendab, et peame sellele lisama varem leitud 2. põhieksponenti. Seega on teie kasutatav eksponent 127+6, mis on 133. Nimest nähtuv topelttäpsus on täpsem ja mahutab suuremaid numbreid. Seetõttu on selle eksponendi kallutatus 1023. Siin kehtivad samad sammud, mida kasutatakse ühekordse täpsuse korral, seega on eksponent, mida saate topelttäpsuse leidmiseks kasutada, 1029.

9
Muutke eksponent binaarseks. Pärast lõpliku astendaja määramist peate selle teisendama binaarseks, et seda saaks kasutada IEEE 754 teisendamiseks. Näiteks saate teisendada viimases etapis leitud 133 numbriks 10000101.

10
Määrake mantiss. Mantissi aspekt ehk IEEE 754 teisenduse kolmas osa on ülejäänud arv pärast 2. aluse teadusliku tähise kümnendkohta. Jätate lihtsalt ette 1 ja kopeerite arvu komaosa, mida korrutatakse 2-ga. Binaarset teisendamist pole vaja! Näiteks mantiss oleks 010101001 alates 01.010101001–26{displaystyle 01.010101001*2^{6}}.

11
Koostage 3 osa üheks lõplikuks arvuks. Lõpuks koostate kõik, mida oleme seni arvutanud, teie konversiooniks. Esmalt algab see 0 või 1 bitiga, mille määrasite sammus 7 märgi põhjal. Näite puhul on teil selle käivitamiseks 0. Järgmisena on teil astendaja osa, mille määrasite 9. sammus. Näites on teie astendaja 10000101. Nüüd on teil mantiss, mis on kolmas. ja teisenduse viimane osa. Tuletasite selle varem, kui võtsite 2. põhikonversiooni kümnendosa. Näiteks mantiss oleks 010101001. Lõpuks ühendate need kõik kokku. Järjekord peaks minema märk-astendaja-mantiss. Pärast nende kolme kahendarvu ühendamist täidate ülejäänud mantissa 0-dega. Näiteks on lahendus 0 10000101 01010100100000000000000 kui 85.125, mis on teisendatud IEEE 754 vormingusse.