public static void Main()
printExpression("number", number);
printExpression("~number", ~number);
printExpression("(~number) + 1", (~number) + 1);
printExpression("-number", -number);
printExpression("(number) & (-number)", (number) & (-number));
public static void printExpression(string text, int value)
Console.Write(new String(' ', 21 - text.Length));
public static void printIntBits(int num)
for (int i = 0; i < 32; i++)
var isSet = ((num & mask) == mask);
if((i % 4) == 0) Console.Write(" ");
Console.Write(isSet ? "1" : "0");