c bitwise operators
Decimal Binary 2's complement
0 00000000 -(11111111+1) = -00000000 = -0(decimal)
1 00000001 -(11111110+1) = -11111111 = -256(decimal)
12 00001100 -(11110011+1) = -11110100 = -244(decimal)
220 11011100 -(00100011+1) = -00100100 = -36(decimal)
Note: Overflow is ignored while computing 2's complement.
// An simple example for binary digits (bits):
// Example: 01001011
// 0 0 0 0 1 0 1 1
// 128 64 32 16 8 4 2 1
// 00001011 = 64 + 8 + 2 + 1 = 75
int i = 1;
if (i == true && i = 1 || i = 2)
{
//And operator -> &&
//Or operator -> ||
i = i << 1;
i = i >> 1;
//Shift bits to left operator -> <<
//Value of i :
// 0 0 0 0 0 0 0 1 } Value of i = 1
// 128 64 32 16 8 4 2 1 } Values
// 0 0 0 0 0 0 0 1 } Value of i = 2
// 256 128 64 32 16 8 4 2 } Values shifted this way : >>
// i << (number of times) is same as i * (number of times)
//Shift bits to right operator -> >>
//Value of i :
// 0 0 0 0 0 0 0 1 } Value of i = 1
// 256 128 64 32 16 8 4 2 } Values
// 0 0 0 0 0 0 0 1 } Value of i = 2
// 128 64 32 16 8 4 2 1 } Values shifted this way : <<
// i << (number of times) is same as i / (number of times)
}