ไม่ใช่จำนวน
ในการคอมพิวเตอร์ ค่าไม่ใช่จำนวน (อังกฤษ: Not a Number) หรือ NaN (/næn/) เป็น ค่า เฉพาะของ ประเภทข้อมูล ตัวเลข (มักเป็น จำนวนจุดลอยตัว ) ซึ่งไม่ได้กำหนดหรือไม่สามารถแทนด้วยค่าจำนวนได้ เช่น ผลลัพธ์ของ ศูนย์หารด้วยศูนย์ . การใช้ NaN อย่างเป็นระบบได้รับการแนะนำโดยมาตรฐานจำนวนจุดลอยตัว IEEE 754 ในปี 1985 พร้อมกับการแสดงปริมาณไม่จำกัดอื่น ๆ เช่น ค่าอนันต์
ใน คณิตศาสตร์ เลขศูนย์หารด้วยศูนย์มักจะไม่ได้นิยาม [a] ดังนั้นจึงแทนด้วย NaN ในระบบคอมพิวเตอร์ Transreal arithmetic เป็นระบบคณิตศาสตร์ที่กำหนดให้ NaN (0/0) เป็น "ค่าว่าง" [1]
รากที่สองของจำนวนลบ ไม่ใช่จำนวนจริง ดังนั้นจึงแทนด้วย NaN ในระบบคอมพิวเตอร์ที่สอดคล้องกัน NaN ยังอาจใช้เพื่อแสดงค่าที่ขาดหายไปในการคำนวณ [2] [3]
มี NaN สองประเภทที่แยกจากกัน ซึ่งเรียกว่า NaN แบบเงียบ (อังกฤษ: quiet NaNs) และ NaN แบบส่งสัญญาณ (อังกฤษ: signaling NaNs) ใช้ NaN แบบเงียบเพื่อเผยแพร่ข้อผิดพลาดที่เกิดจากการดำเนินการหรือค่าที่ไม่ถูกต้อง NaN แบบส่งสัญญาณ สามารถรองรับคุณสมบัติขั้นสูง เช่น การผสม การคำนวณเชิงตัวเลขและสัญลักษณ์ หรือส่วนขยายอื่น ๆ นอกเหนือไปจากจำนวนจุดลอยตัวพื้นฐาน
การแสดงผล
[แก้]ระบบปฏิบัติการและภาษาโปรแกรมต่างๆ มีวิธีการแสดงค่าไม่ใช่จำนวนที่แตกต่างกัน
nan (ภาษาซี, ภาษาซีพลัสพลัส, ภาษาไพธอน) NaN (ECMAScript, ภาษารัสต์, C#, Julia). Julia may show alternative NaN, depending on precision, NaN32, and NaN16; NaN is for Float64 type. NaN% NAN (ภาษาซี, ภาษาซีพลัสพลัส, ภาษารัสต์) NaNQ (IBM XL และ AIX: Fortran, C++ proposal n2290) NaNS ( " ) qNaN sNaN 1.#SNAN (Excel) 1.#QNAN (Excel) -1.#IND (Excel) +nan.0 (Scheme)
เชิงอรรถ
[แก้]หมายเหตุ
[แก้]- ↑ 0/0 is undefined in both the real number and extended real number systems, while 1/±0, for example, could be consistently assigned a value of ±∞ in the latter system, assuming a signed zero.
รายการอ้างอิง
[แก้]- ↑ https://www.bbc.co.uk/berkshire/content/articles/2006/12/12/nullity_061212_feature.shtml
- ↑ Bowman, Kenneth (2006). An Introduction to Programming with IDL: Interactive Data Language. Academic Press. p. 26. ISBN 978-0-12-088559-6.
- ↑ Press, William H.; Teukolsky, Saul A.; Vetterling, William T.; Flannery, Brian P. (2007). Numerical Recipes: The Art of Scientific Computing. Cambridge University Press. p. 34. ISBN 978-0-521-88068-8.
มาตรฐาน
[แก้]- IEEE Computer Society (August 29, 2008). IEEE Standard for Floating-Point Arithmetic. IEEE. pp. 1–70. doi:10.1109/IEEESTD.2008.4610935. ISBN 978-0-7381-5753-5. IEEE Std 754-2008.
- IEEE Computer Society (July 22, 2019). IEEE Standard for Floating-Point Arithmetic. IEEE. pp. 1–84. doi:10.1109/IEEESTD.2019.8766229. ISBN 978-1-5044-5924-2. IEEE Std 754-2019.
แหล่งข้อมูลอื่น
[แก้]- Not a Number, foldoc.org
- IEEE 754-2008 Standard for Floating-Point Arithmetic (ต้องรับบริการ)
- IEEE 754-2019 Standard for Floating-Point Arithmetic (ต้องรับบริการ)