ฉันเข้าใจว่า CPU ปกติทำเลขคณิตสำหรับประเภทจำนวนเต็ม (เช่นจำนวนเต็ม) รวมถึงการใช้งานระดับบิต FPU ทำเลขคณิตจุดลอยตัว อย่างไรก็ตามฉันพยายามที่จะเรียนรู้วิธีการ / เลขคณิตสำหรับประเภทข้อมูลทศนิยม ( ตัวอย่างสำหรับ c # ) เกิดขึ้นภายในโปรเซสเซอร์ทั่วไป?
ฉันเข้าใจว่า CPU ปกติทำเลขคณิตสำหรับประเภทจำนวนเต็ม (เช่นจำนวนเต็ม) รวมถึงการใช้งานระดับบิต FPU ทำเลขคณิตจุดลอยตัว อย่างไรก็ตามฉันพยายามที่จะเรียนรู้วิธีการ / เลขคณิตสำหรับประเภทข้อมูลทศนิยม ( ตัวอย่างสำหรับ c # ) เกิดขึ้นภายในโปรเซสเซอร์ทั่วไป?
คำตอบ:
นี่เป็นคำถามที่นำไปใช้งาน ... คุณสามารถรับข้อมูลที่แม่นยำได้โดยการรวบรวมรหัสเฉพาะเพื่อประกอบดูบทความ StackExchange นี้
เท่าที่มันไม่ใช่คำถามการใช้งานคุณสามารถดูจากที่นี่ข้อสังเกตเกี่ยวกับการเป็นตัวแทนภายในที่มีวัตถุสามส่วน:
ค่าจะคำนวณโดยใช้สูตรเช่น:
value = ( S * I ) / ( 10 ^ F )
มีทางลัดที่สามารถนำมาจากค่าเหล่านี้ซึ่งใช้ประโยชน์จากสิ่งต่าง ๆ ที่ CPU ทำได้อย่างง่ายดาย คอมไพเลอร์ / ไลบรารีอาจใช้ทางลัดเหล่านี้
เลขคณิตจำนวนเต็มถูกประมวลผลโดยหนึ่งในบล็อกการทำงานพื้นฐานของ CPU ที่เรียกว่าArithmetic Logic Unitหรือ ALU
ALU สามารถทำการบวกจำนวนเต็มการลบและการทำให้เกิดข้อผิดพลาดต่าง ๆ รวมถึงการดำเนินการทางตรรกะกับข้อมูล
เพียงเพราะหน่วยนี้ทำงานโดยใช้จำนวนเต็มไม่ได้หมายความว่าคุณไม่สามารถทำคณิตศาสตร์จุดลอยตัวมันจะช้ากว่า FPU เฉพาะ ดูที่นี่สำหรับรายละเอียดบางอย่าง