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

เนื้อหาที่ลบ เนื้อหาที่เพิ่ม
Nallimbot (คุย | ส่วนร่วม)
โรบอต แก้ไข: pl:±0
บรรทัด 1:
'''−0''' คือตัวแทนของ '''ลบศูนย์''' ({{lang-en|negative zero}}) เป็น[[จำนวน]]หนึ่งที่มีในระบบ[[คอมพิวเตอร์]] นอกเหนือจาก [[0]] ในระบบการแทน[[จำนวนมีเครื่องหมาย]] (signed number) สำหรับ[[จำนวนเต็ม]]บางระบบ และระบบการแทน[[จำนวนมีจุดทศนิยม]] (floating point) แทบทุกระบบ แต่ในทาง[[คณิตศาสตร์]]นั้นไม่มีการแบ่งแยกศูนย์ที่เป็นลบหรือเป็นบวก ดังนั้น −0 จึงมีความหมาย "เทียบเท่า" กับ 0
{{รอการตรวจสอบ}}
'''−0''' คือตัวแทนของ '''ลบศูนย์''' (negative zero) เป็น[[จำนวน]]หนึ่งที่มีในระบบ[[คอมพิวเตอร์]] นอกเหนือจาก [[0]] ในระบบการแทน[[จำนวนมีเครื่องหมาย]] (signed number) สำหรับ[[จำนวนเต็ม]]บางระบบ และระบบการแทน[[จำนวนมีจุดทศนิยม]] (floating point) แทบทุกระบบ แต่ในทาง[[คณิตศาสตร์]]นั้นไม่มีการแบ่งแยกศูนย์ที่เป็นลบหรือเป็นบวก ดังนั้น −0 จึงมีความหมาย "เทียบเท่า" กับ 0
 
สำหรับการใช้โดยทั่วไป −0 หมายถึง[[จำนวนลบ]]ที่สามารถปัดเศษขึ้นเป็นค่าศูนย์ หรือจำนวนลบที่เข้าใกล้ศูนย์ทางซ้าย วิทยาศาสตร์บางสาขาจำเป็นต้องใช้ค่า −0 ในการเก็บสถิติหรือการรายงานผล
 
== การแทนในคอมพิวเตอร์ ==
[[ภาพไฟล์:IEEE 754 Single Negative Zero.svg|thumb|right|400px|ลบศูนย์ในระบบการแทนจำนวนมีจุดทศนิยม IEEE 754 แบบ 32 บิต]]
ในระบบการแทนจำนวนแบบ 8 [[บิต]]ของจำนวนเต็ม โดยมีบิตที่ 7 เป็นบิตกำกับเครื่องหมาย จำนวนลบศูนย์สามารถแทนด้วย[[เลขฐานสอง]] <code>10000000</code> และ[[ส่วนเติมเต็มหนึ่ง]] (ones' complement) ของจำนวนลบศูนย์คือ <code>11111111</code> ส่วนในระบบการแทนจำนวนมีจุดทศนิยมตามมาตรฐาน [[IEEE 754]] จำนวนลบศูนย์เขียนแทนด้วย เลขชี้กำลังและ[[แมนทิสซา]]ที่เท่ากับศูนย์ทั้งคู่ และบิตกำกับเครื่องหมายเป็นหนึ่ง (หมายถึงค่าลบ)
 
เส้น 22 ⟶ 21:
* ใช้ฟังก์ชันนี้เพื่อตรวจสอบค่าลบศูนย์ใน[[จาวาสคริปต์]]
<source lang="javascript">
function isNegativeZero (x) { return x === 0 && 1/x < 0; }
isNegativeZero (-0.0) ; // ผลลัพธ์: จริง
isNegativeZero ( 0.0) ; // ผลลัพธ์: เท็จ
</source>
* ใน[[ภาษาจาวา]] ให้ใช้เมทอด <code>equals</code> ในคลาส <code>Double</code> ซึ่งลบศูนย์จะมีความหมายต่างจากบวกศูนย์ ดังตัวอย่าง
<source lang="java">
Double negativeZero = new Double (-0.0) ;
negativeZero.equals (-0.0) ; // ผลลัพธ์: จริง
negativeZero.equals ( 0.0) ; // ผลลัพธ์: เท็จ
</source>
* ใน[[ภาษาซี]] ให้ใช้เทคนิคที่ขึ้นอยู่กับการแทนค่าในฮาร์ดแวร์ของคอมพิวเตอร์เครื่องนั้น ตัวอย่างเช่น
เส้น 38 ⟶ 37:
 
ด้านล่างนี้คือการดำเนินการอื่นๆ ที่เกี่ยวข้องกับลบศูนย์
* <math>\frac{-0}{x} = -0\,\!</math> (สำหรับจำนวนบวก ''x'') <br /><br />
* <math>\frac{-0}{x} = +0\,\!</math> (สำหรับจำนวนลบ ''x'') <br /><br />
* <math>\frac{+0}{x} = -0\,\!</math> (สำหรับจำนวนลบ ''x'') <br /><br />
* <math>\frac{-0}{+\infty} = -0\,\!</math> <br /><br />
* <math>\frac{-0}{-\infty} = +0\,\!</math> <br /><br />
* <math>\frac{+0}{-\infty} = -0\,\!</math> <br /><br />
* <math> (-0) \cdot (-0) = +0\,\!</math><br /><br />
* <math> (-0) - (+0) = -0\,\!</math><br /><br />
* <math> (-0) - (-0) = +0\,\!</math> <br /><br />
* <math> (+0) + (-0) = +0\,\!</math> <br /><br />
* <math> (-0) + (-0) = -0\,\!</math><br /><br />
* <math>\left| x \right| \cdot (-0) = -0\,\!</math><br /><br />
* <math>x + (-0) = x\,\!</math> <br /><br />
เส้น 59 ⟶ 58:
 
== อ้างอิง ==
{{เริ่มอ้างอิง}}
* {{cite web | url=http://msdn.microsoft.com/library/en-us/csspec/html/vclrfcsharpspec_4_1_6.asp | title=Floating point types
| work = [[Microsoft Developer Network|MSDN]] C# Language Specification
บรรทัด 78:
| accessyear = 2005 }} — a ''decimal'' floating point specification that includes negative zero
* {{cite book|first=Charles|last=Kittel|coauthors=and Herbert Kroemer|title=Thermal Physics|publisher=W. H. Freeman & Company|year=1980|id=ISBN 0716710889}}
{{จบอ้างอิง}}
 
== แหล่งข้อมูลอื่น ==