แปลงเลขฐานสิบเป็นรูปแบบไบนารี IEEE 754

ผู้เขียน: John Pratt
วันที่สร้าง: 15 กุมภาพันธ์ 2021
วันที่อัปเดต: 1 กรกฎาคม 2024
Anonim
อธิบายการแปลงเลขฐาน 10 เป็น 2 แบบ IEEE 754
วิดีโอ: อธิบายการแปลงเลขฐาน 10 เป็น 2 แบบ IEEE 754

เนื้อหา

คอมพิวเตอร์ไม่ใช้ระบบเลขฐานสิบแตกต่างจากมนุษย์ พวกเขาใช้ระบบเลขฐานสองหรือเลขฐานสองที่มีตัวเลขสองหลักที่เป็นไปได้ 0 และ 1 ดังนั้นตัวเลขจึงถูกเขียนแตกต่างกันมากใน IEEE 754 (มาตรฐานของ IEEE สำหรับการแทนเลขฐานสองที่มีจุดลอยตัว) มากกว่าในระบบทศนิยมแบบดั้งเดิมที่เราจะ นำมาใช้เพื่อ. ในบทความนี้คุณจะได้เรียนรู้วิธีการเขียนตัวเลขด้วยความแม่นยำเดียวหรือสองเท่าตามมาตรฐาน IEEE 754 สำหรับวิธีนี้คุณจำเป็นต้องรู้วิธีการแปลงตัวเลขเป็นรูปแบบไบนารี หากคุณไม่ทราบวิธีดำเนินการคุณสามารถเรียนรู้สิ่งนี้ได้โดยศึกษาบทความการแปลงไบนารีเป็นทศนิยม

ที่จะก้าว

  1. เลือกความแม่นยำเดี่ยวหรือสองครั้ง เมื่อเขียนตัวเลขด้วยความแม่นยำเดียวหรือสองครั้งขั้นตอนในการแปลงที่ประสบความสำเร็จจะเหมือนกันสำหรับทั้งสองอย่าง การเปลี่ยนแปลงเดียวจะเกิดขึ้นในการแปลงเลขชี้กำลังและแมนทิสซา
    • ก่อนอื่นเราต้องเข้าใจว่าความแม่นยำเดียวหมายถึงอะไร ในการแทนค่าทศนิยมจำนวนใด ๆ (0 หรือ 1) ถือเป็น "บิต" ดังนั้นความแม่นยำเดียวจึงมีทั้งหมด 32 บิตแบ่งออกเป็นสามวิชาที่แตกต่างกัน หัวเรื่องเหล่านี้ประกอบด้วยเครื่องหมาย (1 บิต) เลขชี้กำลัง (8 บิต) และแมนทิสซาหรือเศษส่วน (23 บิต)
    • ในทางกลับกันความแม่นยำสองเท่ามีการตั้งค่าเหมือนกันและสามส่วนเหมือนกันกับความแม่นยำเดียวข้อแตกต่างเพียงอย่างเดียวคือจะเป็นตัวเลขที่ใหญ่กว่าและแม่นยำกว่า ในกรณีนี้เครื่องหมายจะมี 1 บิตเลขชี้กำลัง 11 บิตและแมนทิสซา 52 บิต
    • ในตัวอย่างนี้เราจะแปลงตัวเลข 85.125 เป็น single precision ตาม IEEE 754
  2. แยกจำนวนก่อนและหลังจุดทศนิยม นำตัวเลขที่คุณต้องการแปลงและแยกออกเพื่อให้คุณเหลือทั้งจำนวนเต็มและเลขฐานสิบ ในตัวอย่างนี้เราถือว่าเป็นจำนวน 85,125 คุณสามารถแยกสิ่งนี้เป็นจำนวนเต็ม 85 และทศนิยม 0.125
  3. แปลงจำนวนเต็มเป็นเลขฐานสอง นี่จะกลายเป็น 85 ของ 85.125 ซึ่งจะกลายเป็น 1010101 เมื่อแปลงเป็นไบนารี
  4. แปลงส่วนทศนิยมเป็นเลขฐานสอง นี่คือ 0.125 จาก 85.125 ซึ่งกลายเป็น 0.001 ในรูปแบบไบนารี
  5. รวมสองส่วนของตัวเลขที่แปลงเป็นเลขฐานสอง จำนวน 85 เป็นไบนารีเช่น 1010101 และส่วนทศนิยม 0.125 เป็นไบนารี 0.001 หากคุณรวมเข้ากับจุดทศนิยมคุณจะได้ 1010101.001 เป็นคำตอบสุดท้าย
  6. แปลงเลขฐานสองเป็นสัญกรณ์วิทยาศาสตร์ไบนารี คุณสามารถแปลงตัวเลขเป็นสัญกรณ์วิทยาศาสตร์แบบไบนารีได้โดยเลื่อนจุดทศนิยมไปทางซ้ายจนกว่าจะอยู่ทางขวาของบิตแรก ตัวเลขเหล่านี้ถูกทำให้เป็นมาตรฐานซึ่งหมายความว่าบิตนำหน้าจะเป็น 1 เสมอ สำหรับเลขชี้กำลังจำนวนครั้งที่คุณย้ายทศนิยมคือเลขชี้กำลังในสัญกรณ์วิทยาศาสตร์แบบทวิภาค
    • อย่าลืมว่าการย้ายทศนิยมไปทางซ้ายจะทำให้เกิดเลขชี้กำลังเป็นบวกในขณะที่การเลื่อนทศนิยมไปทางขวาจะทำให้เกิดเลขชี้กำลังเป็นลบ
    • ในตัวอย่างของเราคุณต้องย้ายทศนิยมหกครั้งเพื่อให้ไปทางขวาของบิตแรก รูปแบบผลลัพธ์จะกลายเป็น 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}กำหนดเครื่องหมายของตัวเลขและแสดงในรูปแบบไบนารี ตอนนี้คุณจะพิจารณาได้ว่าตัวเลขเดิมเป็นบวกหรือลบ ถ้าตัวเลขเป็นบวกให้เขียนบิตนั้นเป็น 0 และถ้าเป็นค่าลบเป็น 1 เนื่องจากตัวเลขเดิมคือ 85.125 บวกให้เขียนบิตนั้นเป็น 0 ตอนนี้เป็นบิตแรกของ 32 บิตทั้งหมดในความแม่นยำเดียวของคุณ การแสดงผลตามมาตรฐาน IEEE 754
    • กำหนดเลขชี้กำลังตามความแม่นยำ มีอคติคงที่สำหรับความแม่นยำทั้งแบบเดี่ยวและแบบคู่ อคติเลขชี้กำลังสำหรับความแม่นยำเดียวคือ 127ซึ่งหมายความว่าเราต้องเพิ่มเลขชี้กำลังไบนารีที่พบก่อนหน้านี้ เลขชี้กำลังที่คุณจะใช้คือ 127 + 6 = 133.
      • ความแม่นยำสองเท่าตามชื่อมีความแม่นยำมากกว่าและสามารถเก็บตัวเลขได้มากขึ้น ดังนั้นอคติของเลขชี้กำลัง 1023. ขั้นตอนเดียวกับที่ใช้สำหรับความแม่นยำเดี่ยวจะนำไปใช้ที่นี่ดังนั้นเลขชี้กำลังที่คุณสามารถใช้เพื่อกำหนดความแม่นยำสองเท่าคือ 1029
    • แปลงเลขชี้กำลังเป็นไบนารี หลังจากที่คุณกำหนดเลขชี้กำลังสุดท้ายแล้วคุณต้องแปลงเป็นเลขฐานสองเพื่อให้สามารถใช้ในการแปลง IEEE 754 ได้ ในตัวอย่างนี้คุณสามารถแปลง 133 ที่คุณพบในขั้นตอนสุดท้ายเป็น 10000101
    • กำหนดตั๊กแตนตำข้าว ด้านแมนทิสซาหรือส่วนที่สามของการแปลง IEEE 754 คือส่วนที่เหลือของตัวเลขหลังทศนิยมของสัญกรณ์ไบนารีทางวิทยาศาสตร์ คุณเพียงแค่เว้น 1 ข้างหน้าและคัดลอกส่วนทศนิยมของจำนวนที่คูณด้วยสอง ไม่จำเป็นต้องมีการแปลงไบนารี! ในตัวอย่างตั๊กแตนตำข้าวกลายเป็น 010101001 ของ 01,01010100126{ displaystyle 01.010101001 * 2 ^ {6}}สุดท้ายรวมสามส่วนเป็นหมายเลขเดียว
      • สุดท้ายคุณรวมทุกสิ่งที่เราคำนวณไว้ใน Conversion ของคุณ อันดับแรกหมายเลขจะเริ่มต้นด้วย 0 หรือ 1 ที่คุณกำหนดในขั้นตอนที่ 7 ตามเครื่องหมาย ในตัวอย่างคุณเริ่มต้นด้วย 0
      • จากนั้นคุณมีเลขชี้กำลังที่คุณกำหนดในขั้นตอนที่ 9 ในตัวอย่างเลขชี้กำลังคือ 10,000101
      • จากนั้นตั๊กแตนตำข้าวส่วนที่สามและส่วนสุดท้ายของการเปลี่ยนใจเลื่อมใส คุณอนุมานได้ก่อนหน้านี้เมื่อคุณใช้ส่วนทศนิยมของการแปลงไบนารี ในตัวอย่างแมนทิสซาคือ 010101001
      • สุดท้ายคุณรวมตัวเลขเหล่านี้เข้าด้วยกัน คำสั่งคือ sign-exponent-mantissa หลังจากเชื่อมต่อเลขฐานสองทั้งสามนี้แล้วให้เติมแมนทิสซาที่เหลือด้วยศูนย์
      • ตัวอย่างเช่นการแปลง 85.125 เป็นรูปแบบไบนารี IEEE 754 เป็นวิธีแก้ปัญหา 0 10000101 01010100100000000000000.