Multiplying int with long result c#
Wonder why. C# .Net 3.5 int a = 256 * 1024 * 1024; int b = 8; long c = b * a; Console.WriteLine(c);//<-- result is -2147483648 Where does this minus from? Where does this minus from? From the integer overflow. Note that your code is equivalent to: int a = 256 * 1024 * 1024; int b = 8; int tmp = b * a; long c = tmp; Console.WriteLine(c); I've separated out the multiplication from the assignment to the long variable to emphasize that they really are separate operations - the multiplication is performed using Int32 arithmetic, because both operands are Int32 - the fact that the result is assigned