Деякі цікавинки з числами в C#. В коментарях - те що виводиться на консоль:


Console.WriteLine(1 / 5); // 0 Console.WriteLine(5.0 / 0); // безмежн?сть Console.WriteLine(-5.0 / 0); // -безмежн?сть Console.WriteLine(0.0 / 0); // NaN Console.WriteLine(9.666e-7f); // 9,666001E-07 Console.WriteLine(1234567f + .1234567f); // 1234567 Console.WriteLine(16777216f == 16777217f); // True

Чи можете ви пояснити кожен рядок чому так а не інак?

Замітка: суфікс f в останніх 3х прикладах означає в C# приведення до типу float.

P.S. Ось чому дуже точні обчислення на C# потрібно робити за допомогою decimal ;)