Pretvorite decimalni broj u binarni IEEE 754 format

Autor: John Pratt
Datum Stvaranja: 15 Veljača 2021
Datum Ažuriranja: 1 Srpanj 2024
Anonim
Decimal to IEEE 754 Floating Point Representation
Video: Decimal to IEEE 754 Floating Point Representation

Sadržaj

Za razliku od ljudi, računala ne koriste sustav decimalnih brojeva. Koriste binarni ili binarni brojevni sustav s dvije moguće znamenke, 0 i 1. Dakle, brojevi se u IEEE 754 (standard IEEE za predstavljanje binarnih brojeva s pomičnim zarezom) zapisuju vrlo različito nego u tradicionalnom decimalnom sustavu kojem se biti naviknut. U ovom ćete članku naučiti kako zapisati broj s jednom ili dvostrukom preciznošću prema IEEE 754. Za ovu metodu morate znati pretvoriti brojeve u binarni oblik. Ako ne znate kako to učiniti, to možete naučiti proučavanjem članka Pretvaranje binarnog u decimalni.

Kročiti

  1. Odaberite jednostruku ili dvostruku preciznost. Pri pisanju broja s jednom ili dvostrukom preciznošću koraci do uspješne pretvorbe bit će jednaki za oboje. Jedina promjena događa se u pretvaranju eksponenta i mantise.
    • Prvo moramo shvatiti što znači pojedinačna preciznost. U predstavljanju s pomičnom zarezom bilo koji broj (0 ili 1) smatra se "bitom". Stoga pojedinačna preciznost ima ukupno 32 bita podijeljena u tri različita predmeta. Ti se subjekti sastoje od znaka (1 bit), eksponenta (8 bita) i mantise ili razlomka (23 bita).
    • Dvostruka preciznost, s druge strane, ima istu postavku i ista tri dijela kao pojedinačna preciznost - jedina je razlika u tome što će to biti veći i precizniji broj. U ovom slučaju znak će imati 1 bit, eksponent 11 bita, a mantisa 52 bita.
    • U ovom primjeru pretvorit ćemo broj 85.125 u pojedinačnu preciznost prema IEEE 754.
  2. Odvojite broj prije i poslije decimalne točke. Uzmite broj koji želite pretvoriti i odvojite ga tako da vam ostane cijeli broj i decimalni broj. U ovom primjeru pretpostavljamo broj 85.125. To možete razdvojiti na cijeli broj 85 i decimalni 0,125.
  3. Pretvori cijeli broj u binarni broj. Ovo postaje 85 od 85.125, što će postati 1010101 kada se pretvori u binarno.
  4. Pretvori decimalni dio u binarni broj. Ovo je 0,125 od 85,125, što u binarnom formatu postaje 0,001.
  5. Kombinirajte dva dijela broja koji su pretvoreni u binarne brojeve. Broj 85 je binarni, na primjer 1010101, a decimalni dio 0,125 binarni 0,001. Ako ih kombinirate s decimalnom zarezom, kao konačni odgovor dobit ćete 1010101.001.
  6. Pretvorite binarni broj u binarni znanstveni zapis. Broj možete pretvoriti u binarni znanstveni zapis pomicanjem decimalne točke ulijevo dok ne bude udesno od prvog bita. Ti su brojevi normalizirani, što znači da će vodeći bit uvijek biti 1. Što se tiče eksponenta, broj puta kada pomičete decimalu je eksponent u binarnom znanstvenom zapisu.
    • Imajte na umu da pomicanje decimale ulijevo daje pozitivan eksponent, dok pomicanje decimale udesno daje negativni eksponent.
    • U našem primjeru morate šest puta pomaknuti decimalni znak da biste ga dobili desno od prvog bita. Rezultirajući format tada postaje 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Odredite znak broja i prikažite ga u binarnom formatu. Sad ćete utvrditi je li izvorni broj pozitivan ili negativan. Ako je broj pozitivan, zapišite taj bit kao 0, a ako je negativan kao 1. Budući da je izvorni broj 85.125 pozitivan, zapišite taj bit kao 0. Ovo je sada prvi bit od ukupno 32 bita u vašoj pojedinačnoj preciznosti prikazivanje prema IEEE 754.
    • Odredite eksponent na temelju preciznosti. Postoji fiksna pristranost i za pojedinačnu i za dvostruku preciznost. Eksponentna pristranost za pojedinačnu preciznost je 127, što znači da moramo dodati prethodno pronađeni binarni eksponent. Dakle, eksponent koji ćete koristiti je 127 + 6 = 133.
      • Dvostruka preciznost, kao što naziv govori, točnija je i može sadržavati veće brojeve. Dakle, pristranost eksponenta 1023. Ovdje se primjenjuju isti koraci koji se koriste za pojedinačnu preciznost, tako da je eksponent pomoću kojeg možete odrediti dvostruku preciznost 1029.
    • Pretvorite eksponent u binarni. Nakon što odredite svoj konačni eksponent, morate ga pretvoriti u binarni kako bi se mogao koristiti u pretvorbi IEEE 754. U primjeru 133 možete pronaći u zadnjem koraku u 10000101.
    • Odredite mantisu. Mantisin aspekt, ili treći dio pretvorbe IEEE 754, ostatak je broja nakon decimalnog broja znanstvenog binarnog zapisa. Samo izostavite 1 ispred i kopirate decimalni dio broja koji se pomnoži s dva. Nije potrebna binarna pretvorba! U primjeru, mantisa postaje 010101001 od 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Na kraju spojite tri dijela u jedan broj.
      • Napokon, kombinirate sve što smo do sada izračunali u vašoj konverziji. Broj će prvo započeti s 0 ili 1 koji ste odredili u koraku 7 na temelju znaka. U primjeru započinjete s 0.
      • Tada imate eksponent koji ste odredili u koraku 9. U primjeru je eksponent 10000101.
      • Zatim dolazi mantisa, treći i posljednji dio obraćenja. To ste zaključili ranije kad ste uzeli decimalni dio binarne pretvorbe. U primjeru je mantisa 010101001.
      • Napokon, kombinirate sve ove brojeve jedni s drugima. Redoslijed je znak-eksponent-mantissa. Nakon spajanja ova tri binarna broja, ostatak mantise popunite nulama.
      • Na primjer, rješenje je pretvorba 85.125 u binarni IEEE 754 format 0 10000101 01010100100000000000000.