พิสัยของจำนวนจุดลอยตัว ของ จำนวนจุดลอยตัว

เนื่องจากจุดฐานสามารถเปลี่ยนตำแหน่งได้ สัญกรณ์จำนวนจุดลอยตัวจึงสามารถคำนวณขนาดที่มีพิสัยกว้าง โดยใช้เลขโดดจำนวนหนึ่งตายตัว ในขณะที่ยังคงไว้ซึ่งความเที่ยงที่ดี ตัวอย่างเช่น การคูณที่คำนวณโดยมนุษย์เขียนเป็น

0.12 × 0.12 = 0.0144

เมื่อเขียนแทนในระบบจำนวนจุดลอยตัวฐานสิบ ซึ่งมีเลขโดดสามหลัก จะได้

(1.2×10−1) × (1.2×10−1) = (1.44×10−2)

ในขณะที่ระบบจำนวนจุดตรึงที่มีจุดทศนิยมอยู่ทางซ้ายสุด ซึ่งมีเลขโดดสามหลักเช่นกัน จะได้

0.120 × 0.120 = 0.014

จะเห็นว่าผลลัพธ์ของจำนวนจุดตรึงสูญหายไปบางส่วน เพราะไม่มีที่อยู่สำหรับเลขโดดที่เกินมา และจุดทศนิยม "ลอยตัว" ไม่ได้ภายในสายอักขระของเลขโดด

พิสัยของจำนวนจุดลอยตัวจึงขึ้นอยู่กับจำนวนบิตหรือเลขโดดที่ใช้สำหรับแทนซิกนิฟิแคนด์ (เลขนัยสำคัญของจำนวน) และเลขชี้กำลัง การแทนจำนวนจุดลอยตัวฐานสองขนาดความเที่ยงสองเท่า (64 บิต) ในระบบคอมพิวเตอร์ทั่วไป จะมีสัมประสิทธิ์ 53 บิต (ซึ่งบิตแรกสุดไม่ต้องเก็บบันทึก) เลขชี้กำลัง 11 บิต และบิตเครื่องหมายอีกหนึ่งบิต จำนวนจุดลอยตัวที่เป็นค่าบวกในรูปแบบนี้จึงมีพิสัยอยู่ที่ประมาณ 10−308 ถึง 10308 (ค่า 308 มาจาก 1023 × log10 (2) โดยประมาณ และพิสัยของเลขชี้กำลังอยู่ในช่วง [−1022, 1023]) พิสัยโดยรวมทั้งหมดของรูปแบบนี้จึงเก็บบันทึกได้ตั้งแต่ −10308 ไปจนถึง +10308 (ดูเพิ่มที่ IEEE 754)

จำนวนทั้งหมดของจำนวนจุดลอยตัวที่เป็นบรรทัดฐานแล้วในระบบ F(B, P, L, U) คือ 2 ( B − 1 ) ( B P − 1 ) ( U − L + 1 ) {\displaystyle 2(B-1)(B^{P-1})(U-L+1)} เมื่อ B คือฐานของระบบเลข P คือความเที่ยงของระบบ L คือเลขชี้กำลังน้อยสุดที่สามารถแทนได้ในระบบ และ U คือเลขชี้กำลังมากสุดที่สามารถแทนได้ในระบบ

จำนวนจุดลอยตัวที่เป็นบรรทัดฐานแล้วที่เล็กที่สุดในค่าบวก เรียกว่า ระดับน้อยเกินเก็บ (underflow level) คือ UFL = B L {\displaystyle {\text{UFL}}=B^{L}} ซึ่งจะมีเลขโดด 1 เป็นตัวนำและ 0 สำหรับหลักที่เหลือทั้งหมดในซิกนิฟิแคนด์ และค่าที่น้อยที่สุดที่เป็นไปได้ของเลขชี้กำลัง

จำนวนจุดลอยตัวที่เป็นบรรทัดฐานแล้วที่ใหญ่ที่สุด เรียกว่า ระดับมากเกินเก็บ (overflow level) คือ OFL = ( 1 − B − P ) ( B U + 1 ) {\displaystyle {\text{OFL}}=(1-B^{-P})(B^{U+1})} ซึ่งจะมีเลขโดด B − 1 สำหรับทุกหลักในซิกนิฟิแคนด์ และค่าที่มากที่สุดที่เป็นไปได้ของเลขชี้กำลัง

นอกจากนี้ก็มีค่าระหว่าง −UFL และ UFL ที่สามารถแทนได้ ซึ่งนั่นก็คือ 0 และ −0 รวมทั้งจำนวนต่ำกว่าบรรทัดฐาน (subnormal number)

แหล่งที่มา

WikiPedia: จำนวนจุดลอยตัว http://www.mrob.com/pub/math/floatformats.html http://www.openexr.com/about.html http://speleotrove.com/decimal/ http://docs.sun.com/source/806-3568/ncg_goldberg.h... http://www.cs.berkeley.edu/~wkahan/JAVAhurt.pdf http://www.eecs.berkeley.edu/~wkahan/ieee754status... http://babbage.cs.qc.edu/IEEE-754/32bit.html http://hal.archives-ouvertes.fr/hal-00128124/en/ //doi.org/10.1109%2FFPT.2006.270342 //doi.org/10.1145%2F103162.103163