Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
49
Task/Integer-overflow/C-sharp/integer-overflow.cs
Normal file
49
Task/Integer-overflow/C-sharp/integer-overflow.cs
Normal file
|
|
@ -0,0 +1,49 @@
|
|||
using System;
|
||||
|
||||
public class IntegerOverflow
|
||||
{
|
||||
public static void Main() {
|
||||
unchecked {
|
||||
Console.WriteLine("For 32-bit signed integers:");
|
||||
Console.WriteLine(-(-2147483647 - 1));
|
||||
Console.WriteLine(2000000000 + 2000000000);
|
||||
Console.WriteLine(-2147483647 - 2147483647);
|
||||
Console.WriteLine(46341 * 46341);
|
||||
Console.WriteLine((-2147483647 - 1) / -1);
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("For 64-bit signed integers:");
|
||||
Console.WriteLine(-(-9223372036854775807L - 1));
|
||||
Console.WriteLine(5000000000000000000L + 5000000000000000000L);
|
||||
Console.WriteLine(-9223372036854775807L - 9223372036854775807L);
|
||||
Console.WriteLine(3037000500L * 3037000500L);
|
||||
Console.WriteLine((-9223372036854775807L - 1) / -1);
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("For 32-bit unsigned integers:");
|
||||
//Negating a 32-bit unsigned integer will convert it to a signed 64-bit integer.
|
||||
Console.WriteLine(-4294967295U);
|
||||
Console.WriteLine(3000000000U + 3000000000U);
|
||||
Console.WriteLine(2147483647U - 4294967295U);
|
||||
Console.WriteLine(65537U * 65537U);
|
||||
Console.WriteLine();
|
||||
|
||||
Console.WriteLine("For 64-bit unsigned integers:");
|
||||
// The - operator cannot be applied to 64-bit unsigned integers; it will always give a compile-time error.
|
||||
//Console.WriteLine(-18446744073709551615UL);
|
||||
Console.WriteLine(10000000000000000000UL + 10000000000000000000UL);
|
||||
Console.WriteLine(9223372036854775807UL - 18446744073709551615UL);
|
||||
Console.WriteLine(4294967296UL * 4294967296UL);
|
||||
Console.WriteLine();
|
||||
}
|
||||
|
||||
int i = 2147483647;
|
||||
Console.WriteLine(i + 1);
|
||||
try {
|
||||
checked { Console.WriteLine(i + 1); }
|
||||
} catch (OverflowException) {
|
||||
Console.WriteLine("Overflow!");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue