3
C # พฤติกรรมล้นสำหรับ uint ไม่ จำกัด
ฉันทดสอบโค้ดนี้ที่https://dotnetfiddle.net/ : using System; public class Program { const float scale = 64 * 1024; public static void Main() { Console.WriteLine(unchecked((uint)(ulong)(1.2 * scale * scale + 1.5 * scale))); Console.WriteLine(unchecked((uint)(ulong)(scale* scale + 7))); } } ถ้าฉันรวบรวมด้วย. NET 4.7.2 ฉันจะได้รับ 859091763 7 แต่ถ้าฉันทำ Roslyn หรือ. NET Core ฉันจะได้รับ 859091763 0 ทำไมสิ่งนี้ถึงเกิดขึ้น