ผลต่างระหว่างรุ่นของ "ศูนย์มีเครื่องหมาย"

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
BotKung (คุย | ส่วนร่วม)
เก็บกวาดบทความด้วยบอต
Waniosa Amedestir (คุย | ส่วนร่วม)
ย้อนการแก้ไขที่ 7927012 สร้างโดย 2001:44C8:4341:F6A6:CF2E:86D:5E3B:BE01 (พูดคุย)
ป้ายระบุ: ทำกลับ
บรรทัด 1:
'''ศูนย์มีเครื่องหมาย''' หมายถึงจำนวน [[0]] (ศูนย์) ที่ถูกกำกับด้วยเครื่องหมาย[[บวกหรือลบ]] ได้แก่ '''−0''' (ลบศูนย์) และ '''+0''' (บวกศูนย์) ใน[[เลขคณิต]]ธรรมดาทั่วไป −0 = +0 = 0 อย่างไรก็ตาม การแทนจำนวนบางระบบใน[[คอมพิวเตอร์]]อนุญาตให้มีศูนย์สองชนิดนี้ได้ ซึ่งเกิดขึ้นใน ''เครื่องหมายและขนาด'' กับ ''ส่วนเติมเต็มหนึ่ง'' ของ[[การแทนจำนวนมีเครื่องหมาย]]สำหรับจำนวนเต็ม และในการแทน[[จำนวนจุดลอยตัว]]ส่วนใหญ่ จำนวน 0 มักจะถูกเข้ารหัสเป็น +0 แต่ก็สามารถแทนด้วย −0 อย่างใดอย่างหนึ่งก็ได้
 
มาตรฐาน [[IEEE 754]] สำหรับเลขคณิตของจำนวนจุดลอยตัว (ปัจจุบันมีใช้ในคอมพิวเตอร์และภาษาโปรแกรมส่วนใหญ่ที่รองรับจำนวนจุดลอยตัว) จำเป็นต้องมีทั้ง +0 และ −0 ศูนย์ทั้งสองชนิดสามารถพิจารณาว่าเป็นรูปแบบผันแปรอันหนึ่งของ[[เส้นจำนวนจริงขยาย]] ตัวอย่างเช่น 1/−0 = −[[∞]] และ 1/+0 = +∞ ซึ่ง[[การหารด้วยศูนย์]]จะเป็น[[รูปแบบยังไม่กำหนด|อนิยาม]]นทัศน์ของ[[คณิตวิเคราะห์|วิเคราะห์]]มีค่าต่ำกว่าเป็น[[ลิมิตด้านเดียว]]เขียนได้เป็นเฉพาะ x±0/±0 กับ 0<sup>−<±∞/sup>ลบขนาดเล็กที่ถูก[[ปัดเศษ]]±∞
 
ศูนย์ที่มีเครื่องหมายลบสะท้อนให้เห็นถึงมโนทัศน์ของ[[คณิตวิเคราะห์]]เกี่ยวกับการมีค่าเข้าใกล้ 0 จากด้านที่มีค่าต่ำกว่าเป็น[[ลิมิตด้านเดียว]] ซึ่งอาจเขียนได้เป็น x → 0<sup>−</sup>, x → 0− หรือ x → ↑0 สัญกรณ์ "−0" ก็ยังใช้สำหรับเขียนแทนจำนวนลบขนาดเล็กที่ถูก[[ปัดเศษ]]ให้เป็นศูนย์อย่างไม่เป็นทางการ มโนทัศน์ของลบศูนย์ก็มีการประยุกต์ใช้เชิงทฤษฎีบางอย่างใน[[กลศาสตร์เชิงสถิติ]]และสาขาอื่น ๆ
กเกี่ยวกับ[[จำนวนเชิงซ้อน]]
 
การรวมศูนย์มีเครื่องหมายลงใน IEEE 754 เอ่ยอ้างว่ามันช่วยให้บรรลุความแม่นยำเชิงจำนวนในปัญหาวิกฤตบางประการ <ref>[[William Kahan]], "Branch Cuts for Complex Elementary Functions, or Much Ado About Nothing's Sign Bit", in [http://portal.acm.org/citation.cfm?id=59678 ''The State of the Art in Numerical Analysis''] (eds. Iserles and Powell), Clarendon Press, Oxford, 1987.</ref> โดยเฉพาะอย่างยิ่งเมื่อคำนวณด้วยฟังก์ชันมูลฐานเกี่ยวกับ[[จำนวนเชิงซ้อน]] <ref>[[William Kahan]], [http://www.cs.berkeley.edu/~wkahan/Math185/Derivative.pdf Derivatives in the Complex z-plane], p10.</ref> แต่ในทางกลับกัน มโนทัศน์ของศูนย์มีเครื่องหมายขัดกับสมมติฐานทั่วไปที่สร้างขึ้นในขอบเขตต่าง ๆ ของคณิตศาสตร์ว่า ลบศูนย์ก็คือสิ่งเดียวกับศูนย์ การแทนจำนวนที่อนุญาตให้มีลบศูนย์อาจเป็นต้นตอแห่งความผิดพลาดของโปรแกรม เนื่องจากนักพัฒนาซอฟต์แวร์อาจไม่ได้ตระหนักหรือลืมไปว่า ขณะที่การแทนศูนย์ทั้งสองชนิดมีพฤติกรรมเท่ากันภายใต้การเปรียบเทียบจำนวน พวกมันมีรูปแบบบิตที่ต่างกัน และส่งผลให้เกิดผลลัพธ์จากการดำเนินการบางชนิดต่างกันด้วย
การเข้ารหัส[[ส่วนเติมเต็มสอง|ง]]า <tt>0000</tt> และการแทน[[ส่วนเติมเต็มหนึ่ง|หนึ่ง]] (one's complement) แบบ 8 บิต ลบศูนย์แทนด้วยค่า <tt>1111 1111</tt> การเข้ารหัสทั้งสามชนิดนั้น บวกศูนย์แทนด้วยค่า <tt>0000 0000</tt>
 
== การแทนในคอมพิวเตอร์ ==
การเข้ารหัส[[ส่วนเติมเต็มสอง|ง]] (two's complement) ที่ใช้กันอย่างกว้างขวางไม่อนุญาตให้มีค่าลบศูนย์ การแทนจำนวนมีเครื่องหมายแบบ 1+7 บิตสำหรับจำนวนเต็ม ลบศูนย์แทนด้วยค่า <tt>1000 0000</tt> และการแทน[[ส่วนเติมเต็มหนึ่ง|หนึ่ง]] (one's complement) แบบ 8 บิต ลบศูนย์แทนด้วยค่า <tt>1111 1111</tt> การเข้ารหัสทั้งสามชนิดนั้น บวกศูนย์แทนด้วยค่า <tt>0000 0000</tt>
 
[[ไฟล์:IEEE 754 Single Negative Zero.svg|thumb|right|400px|ลบศูนย์ในการแทนจำนวนจุดลอยตัว IEEE 754 แบบ 32 บิต]]