Pārveidojiet decimāldaļu skaitli binārā IEEE 754 formātā

Autors: John Pratt
Radīšanas Datums: 15 Februāris 2021
Atjaunināšanas Datums: 1 Jūlijs 2024
Anonim
HOW TO: Convert Decimal to IEEE-754 Single-Precision Binary
Video: HOW TO: Convert Decimal to IEEE-754 Single-Precision Binary

Saturs

Atšķirībā no cilvēkiem, datoros netiek izmantota decimālo skaitļu sistēma. Viņi izmanto bināro vai bināro skaitļu sistēmu ar diviem iespējamiem cipariem 0 un 1. Tātad skaitļi IEEE 754 (IEEE standarts bināro skaitļu attēlošanai ar peldošo punktu) tiek ierakstīti ļoti atšķirīgi nekā tradicionālajā decimāldaļu sistēmā būt pieradušam pie. Šajā rakstā jūs uzzināsiet, kā rakstīt numuru vai nu ar vienu, vai ar dubultu precizitāti saskaņā ar IEEE 754. Šai metodei jums jāzina, kā skaitļus konvertēt binārā formā. Ja nezināt, kā to izdarīt, to varat uzzināt, izpētot rakstu Bināra konvertēšana decimāldaļai.

Lai soli

  1. Izvēlieties vienreizēju vai dubultu precizitāti. Rakstot skaitli ar vienu vai dubultu precizitāti, veiksmīgas konvertēšanas darbības abām būs vienādas. Vienīgās izmaiņas notiek, pārveidojot eksponentu un mantisu.
    • Vispirms mums jāsaprot, ko nozīmē viena precizitāte. Peldošā komata attēlā jebkurš skaitlis (0 vai 1) tiek uzskatīts par "bitu". Tāpēc vienai precizitātei kopā ir 32 biti, kas sadalīti trīs dažādos priekšmetos. Šos priekšmetus veido zīme (1 bits), eksponents (8 biti) un mantissa vai frakcija (23 biti).
    • Savukārt dubultai precizitātei ir tāda pati iestatīšana un tās pašas trīs daļas kā vienai precizitātei - vienīgā atšķirība ir tā, ka tas būs lielāks un precīzāks skaitlis. Šajā gadījumā zīmei būs 1 bits, eksponentam 11 biti un mantisai 52 biti.
    • Šajā piemērā mēs pārveidosim skaitli 85.125 par vienu precizitāti saskaņā ar IEEE 754.
  2. Atdaliet skaitli pirms un aiz komata. Paņemiet skaitli, kuru vēlaties konvertēt, un atdaliet to tā, lai paliek vesels skaitlis un decimālskaitlis. Šajā piemērā mēs pieņemam skaitli 85,125. To var atdalīt skaitlim 85 un decimāldaļai 0,125.
  3. Konvertējiet visu skaitli uz bināro skaitli. Tas kļūst par 85 no 85,125, kas, pārvēršot binārā, kļūs par 1010101.
  4. Konvertējiet decimāldaļu uz bināru skaitli. Tas ir 0,125 no 85,125, kas binārā formātā kļūst par 0,001.
  5. Apvienojiet abas skaitļa daļas, kas pārveidotas par bināriem skaitļiem. Skaitlis 85 ir binārs, piemēram, 1010101, un decimāldaļa 0,125 ir binārā 0,001. Ja tos apvienojat ar komatu, kā galīgo atbildi saņemat 1010101.001.
  6. Konvertējiet bināro skaitli uz bināro zinātnisko apzīmējumu. Jūs varat konvertēt skaitli binārā zinātniskā apzīmējumā, pārvietojot decimāldaļu pa kreisi, līdz tas atrodas pa labi no pirmā bita. Šie skaitļi tiek normalizēti, kas nozīmē, ka vadošais bits vienmēr būs 1. Runājot par eksponentu, binārā zinātniskā apzīmējuma eksponents ir decimāldaļas pārvietošanas reižu skaits.
    • Atcerieties, ka, pārvietojot decimāldaļu pa kreisi, tiek iegūts pozitīvs eksponents, savukārt, aizvietojot decimāldaļu pa labi, tiek iegūts negatīvs.
    • Mūsu piemērā jums ir jāpārvieto aiz komata sešas reizes, lai to iegūtu pa labi no pirmā bita. Rezultātā iegūtais formāts kļūst 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Nosakiet cipara zīmi un parādiet to binārā formātā. Tagad jūs noteiksit, vai sākotnējais skaitlis ir pozitīvs vai negatīvs. Ja skaitlis ir pozitīvs, ierakstiet to bitu kā 0 un, ja tas ir negatīvs, kā 1. Tā kā sākotnējais skaitlis ir 85,125 pozitīvs, ierakstiet šo bitu kā 0. Tagad tas ir pirmais 32 no visiem kopējiem bitiem jūsu vienā precizitātē renderēšana saskaņā ar IEEE 754.
    • Nosakiet eksponentu, pamatojoties uz precizitāti. Ir fiksēta neobjektivitāte gan vienreizējai, gan dubultai precizitātei. Eksponenta neobjektivitāte vienai precizitātei ir 127, kas nozīmē, ka mums jāpievieno iepriekš atrastais binārais eksponents. Tātad eksponents, kuru izmantosit, ir 127 + 6 = 133.
      • Divkārša precizitāte, kā norāda nosaukums, ir precīzāka un tajā var ievietot lielākus skaitļus. Tādējādi eksponenta aizspriedumi 1023. Šeit tiek piemērotas tās pašas darbības, kas tiek izmantotas vienreizējai precizitātei, tāpēc eksponents, kuru varat izmantot, lai noteiktu dubulto precizitāti, ir 1029.
    • Pārvērst eksponentu binārā. Pēc galīgā eksponenta noteikšanas tas jāpārvērš binārā formātā, lai to varētu izmantot IEEE 754 pārveidošanā. Piemērā varat pārveidot 133, ko atradāt pēdējā solī, uz 10000101.
    • Nosakiet mantisu. Mantissa aspekts jeb IEEE 754 konversijas trešā daļa ir skaitļa atlikums pēc zinātniskā binārā apzīmējuma aiz komata. Jūs vienkārši izlaižat priekšā esošo 1 un kopējat skaitļa decimālo daļu, kas tiek reizināta ar diviem. Binārā konversija nav nepieciešama! Piemērā mantissa kļūst par 010101001 no 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Visbeidzot, apvienojiet trīs daļas vienā skaitlī.
      • Visbeidzot, jūs apvienojat visu, ko līdz šim esam aprēķinājuši jūsu reklāmguvumā. Vispirms skaitlis sāksies ar 0 vai 1, kuru jūs noteicāt 7. solī, pamatojoties uz zīmi. Piemērā jūs sākat ar 0.
      • Tad jums ir eksponents, kuru esat noteicis 9. solī. Piemērā eksponents ir 10000101.
      • Tad nāk mantissa, trešā un pēdējā pārvēršanas daļa. Jūs to secinājāt agrāk, kad paņēmāt binārā pārrēķina decimāldaļu. Piemērā mantissa ir 010101001.
      • Visbeidzot, jūs visus šos skaitļus apvienojat savā starpā. Kārtība ir zīme-eksponents-mantissa. Pēc šo trīs bināro skaitļu savienošanas aizpildiet pārējo mantisu ar nullēm.
      • Piemēram, 85,125 konvertēšana binārā IEEE 754 formātā ir risinājums 0 10000101 01010100100000000000000.