ในการคอมพิวเตอร์ ค่าไม่ใช่จำนวน (อังกฤษ: 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)

เชิงอรรถ แก้

หมายเหตุ แก้

  1. 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.

รายการอ้างอิง แก้

  1. https://www.bbc.co.uk/berkshire/content/articles/2006/12/12/nullity_061212_feature.shtml
  2. Bowman, Kenneth (2006). An Introduction to Programming with IDL: Interactive Data Language. Academic Press. p. 26. ISBN 978-0-12-088559-6.
  3. 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.

มาตรฐาน แก้

แหล่งข้อมูลอื่น แก้