O'nli raqamni ikkilik IEEE 754 formatiga o'tkazing

Muallif: John Pratt
Yaratilish Sanasi: 15 Fevral 2021
Yangilanish Sanasi: 1 Iyul 2024
Anonim
O'nli raqamni ikkilik IEEE 754 formatiga o'tkazing - Maslahatlar
O'nli raqamni ikkilik IEEE 754 formatiga o'tkazing - Maslahatlar

Tarkib

Odamlardan farqli o'laroq, kompyuterlar o'nlik sanoq tizimidan foydalanmaydi. Ular ikkita mumkin bo'lgan 0 va 1 raqamli ikkilik yoki ikkilik sanoq tizimidan foydalanadilar. Demak, raqamlar IEEE 754 (ikkilik sonlarni suzuvchi nuqta bilan ifodalash uchun IEEE standarti) da biz boshqacha tarzda boshqacha yozilgan. ishlatmoq. Ushbu maqoladan IEEE 754 bo'yicha raqamni bitta yoki ikkita aniqlikda yozishni o'rganasiz. Ushbu usul uchun siz raqamlarni ikkilik shaklga o'tkazishni bilishingiz kerak. Agar buni qanday qilishni bilmasangiz, ikkilikni o'nlikka aylantirish maqolasini o'rganish orqali bilib olishingiz mumkin.

Qadam bosish

  1. Bitta yoki ikkita aniqlikni tanlang. Raqamni bitta yoki ikkita aniqlikda yozishda, muvaffaqiyatli konvertatsiya qilish bosqichlari ikkalasi uchun ham bir xil bo'ladi. Faqatgina o'zgarish ko'rsatkich va mantissani konvertatsiya qilishda sodir bo'ladi.
    • Avvalo bitta aniqlik nimani anglatishini tushunishimiz kerak. Suzuvchi nuqta tasvirida istalgan raqam (0 yoki 1) "bit" deb hisoblanadi. Shuning uchun, bitta aniqlikda uch xil predmetga bo'lingan jami 32 bit mavjud. Ushbu mavzular belgidan (1 bit), ko'rsatkichdan (8 bit) va mantissa yoki fraktsiyadan (23 bit) iborat.
    • Ikki tomonlama aniqlik, xuddi shu o'rnatishga va bitta aniqlikka o'xshash uchta qismga ega - faqat farq shundaki, u kattaroq va aniqroq raqam bo'ladi. Bu holda belgi 1 bitga, ko'rsatkich 11 bitga va mantissa 52 bitga ega bo'ladi.
    • Ushbu misolda biz 85.125 raqamini IEEE 754 bo'yicha bitta aniqlikka o'tkazamiz.
  2. O'nli kasrdan oldin va keyin raqamni ajrating. O'zgartirmoqchi bo'lgan raqamni oling va ajratib oling, shunda butun son va o'nlik raqam qoladi. Ushbu misolda biz 85,125 raqamini taxmin qilamiz. Siz buni 85 va o'nlik kasrlarga ajratishingiz mumkin.
  3. Butun sonni ikkilik raqamga aylantiring. Bu 85.125 dan 85 ga aylanadi, ikkilikka o'tkazilganda 1010101 bo'ladi.
  4. O'nli qismni ikkilik raqamga aylantiring. Bu 85.125 dan 0.125, ikkilik formatda 0.001 ga teng.
  5. Ikkilik raqamlarga o'tkazilgan sonning ikkita qismini birlashtiring. 85 raqami ikkilik, masalan, 1010101, kasrning 0,125 qismi ikkilik 0,001. Agar siz ularni o'nlik nuqta bilan birlashtirsangiz, yakuniy javob sifatida 1010101.001 olasiz.
  6. Ikkilik raqamni ikkilik ilmiy yozuvga o'tkazing. O'nli kasrni chapga birinchi bitning o'ng tomonigacha harakatlantirish orqali raqamni ikkilik ilmiy yozuvga o'tkazishingiz mumkin. Ushbu raqamlar normallashtirilgan, ya'ni etakchi bit har doim 1 bo'ladi. Ko'rsatkichga kelsak, o'nli kasrni necha marta siljitadigan bo'lsak, ikkilik ilmiy yozuvlarda ko'rsatkichdir.
    • Unutmangki, kasrni chapga siljitish ijobiy ko'rsatkichni hosil qiladi, o'nlikni o'ngga siljitish esa salbiy ko'rsatkichni hosil qiladi.
    • Bizning misolimizda o'nlik kasrni birinchi bitdan o'ngga olish uchun olti marta siljitishingiz kerak. Natijada olingan format bo'ladi 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Raqamning belgisini aniqlang va uni ikkilik shaklda ko'rsating. Endi asl raqam ijobiy yoki salbiy ekanligini aniqlaysiz. Agar raqam ijobiy bo'lsa, u bitni 0 ga, agar salbiy bo'lsa, 1 deb yozing. Dastlabki raqam 85.125 ijobiy bo'lganligi sababli, bitni 0 ga yozing. Endi bu sizning bitta aniqligingizdagi 32 ta bitning birinchi biti. IEEE 754 bo'yicha taqdim etish.
    • Aniqlik asosida ko'rsatkichni aniqlang. Ikkala aniqlik va aniqlik uchun qat'iylik mavjud. Bitta aniqlik uchun eksponat tarafkashligi 127, bu avval topilgan ikkilik ko'rsatkichni qo'shishimiz kerakligini anglatadi. Shunday qilib siz foydalanmoqchi bo'lgan ko'rsatkich 127 + 6 = 133.
      • Ikki marta aniqlik, nomidan ko'rinib turibdiki, yanada aniqroq va katta raqamlarga ega bo'lishi mumkin. Demak, eksponentning tarafkashligi 1023. Bitta aniqlikda ishlatiladigan xuddi shu qadamlar bu erda amal qiladi, shuning uchun siz ikkita aniqlikni aniqlash uchun foydalanishingiz mumkin bo'lgan ko'rsatkich 1029 ga teng.
    • Ko'rsatkichni ikkilikka aylantiring. Oxirgi darajangizni aniqlagandan so'ng, uni ikkilikka aylantirishingiz kerak, shunda u IEEE 754 konversiyasida ishlatilishi mumkin. Misolda, siz oxirgi bosqichda topilgan 133 ni 10000101 raqamiga o'zgartirishingiz mumkin.
    • Mantissani aniqlang. Mantissa aspekti yoki IEEE 754 konvertatsiyasining uchinchi qismi ilmiy ikkilik yozuvlarning o'nlik kasridan keyingi sonning qolgan qismi. Oldingizda 1 ni tashlab, sonning o'nlik qismini ikkiga ko'paytiradigan nusxa ko'chirasiz. Ikkilik konversiya talab qilinmaydi! Masalan, mantissa 010101001 ga teng bo'ladi 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}Nihoyat, uchta qismni bitta raqamga birlashtiring.
      • Va nihoyat, siz konvertatsiya qilishda biz hozirgacha hisoblab chiqqan hamma narsani birlashtirasiz. Raqam avval siz belgi asosida 7-qadamda aniqlagan 0 yoki 1 bilan boshlanadi. Misolda siz 0 bilan boshlaysiz.
      • Keyin siz 9-qadamda aniqlagan ko'rsatkichga egasiz. Misolda, ko'rsatkich 10000101.
      • Keyin mantissa, konversiyaning uchinchi va oxirgi qismi keladi. Siz ikkilik konversiyaning o'nli qismini olganingizda buni ilgari aniqladingiz. Misolda mantissa 010101001 ga teng.
      • Nihoyat, siz bu raqamlarning barchasini bir-biringiz bilan birlashtirasiz. Buyurtma belgisi-eksponent-mantissa. Ushbu uchta ikkilik raqamlarni birlashtirgandan so'ng, mantisaning qolgan qismini nol bilan to'ldiring.
      • Masalan, 85.125 ni ikkilik IEEE 754 formatiga o'tkazish bu echimdir 0 10000101 01010100100000000000000.