ฉันถูกทดสอบสิ่งที่ได้กลับมาจากการแบ่งรวมศูนย์เช่น0/1
, และ1/0
0/0
สำหรับสิ่งนี้ฉันใช้บางสิ่งที่คล้ายกับที่แสดงต่อไปนี้:
Console.WriteLine(1d / 0d);
แต่รหัสนี้พิมพ์8
ไม่ได้Infinity
หรือบางส่วนคงที่สตริงอื่น ๆ PositiveInfinity
เช่น
เพื่อความสมบูรณ์ของการพิมพ์ทั้งหมดต่อไปนี้8
:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
และภาพพิมพ์Console.WriteLine(Double.NegativeInfinity);
-8
ทำไมอินฟินิตี้นี้จึงพิมพ์ 8?
สำหรับคนที่คิดว่านี่เป็นสัญลักษณ์อินฟินิตี้ไม่ใช่โปรแกรมต่อไปนี้แปด:
Console.WriteLine(1d / 0d);
double value = 1d / 0d;
Console.WriteLine(value);
Console.WriteLine(Double.PositiveInfinity);
Console.WriteLine(8);
ขาออก:
8
ไม่ใช่อักขระ Unicode แปลก ๆ สำหรับอินฟินิตี้หมุน 90 องศา? สิ่งนี้อาจเปลี่ยนแปลงไปตามตำแหน่งที่ตั้งของคุณ ฉันลองบนdotnetfiddle.netแล้วก็พิมพ์Infinity
ออกมา
Double.PositiveInfinity.ToString()[0] == '8'
ปัญหาหรือพิมพ์การส่งออกของ มีตัวละครแปลก ๆ บางตัวที่มีลักษณะคล้ายกับตัวอักษรอื่นในแบบอักษรบางตัว คอมพิวเตอร์ของคุณกำหนดค่าให้เป็นภาษาอะไร
8
เช่นกัน (ภาษาเยอรมัน)
Console.Write("∞");
∞
เป็นสัญลักษณ์ของอินฟินิตี้ แค่พลิก 90 องศาเพื่อดู 8