.NET 4.x Вылетает OverflowException в unchecked блоке - C#
Формулировка задачи:
Собственно, почему код приведенный ниже выкидывает OverflowException ? Изначально просто хотел написать небольшую головоломку...
int x; unchecked { x =Math.Abs(int.MinValue) * 2; }
Решение задачи: «.NET 4.x Вылетает OverflowException в unchecked блоке»
textual
Листинг программы
using System; class Program { public static int DoubleAbs(int x) { if (x < 0) x = (x ^ -1) + 1; return x << 1; } public static void Main() { Console.WriteLine(DoubleAbs(10)); Console.WriteLine(DoubleAbs(-10)); Console.WriteLine(DoubleAbs(Int32.MaxValue)); Console.WriteLine(DoubleAbs(Int32.MinValue)); } }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д