Explanation : Let size of ( int ) = 1. So, -4 will be stored as 1 1 1 1 1 1 0 0.
Since we are adding unsigned and signed integers, the signed gets converted to unsigned.
So, i + j will become 1 1 1 1 1 1 0 1. We are trying to print this as an unsigned integer.
So, what is printed will be 28 - 1 - 2. So, log (x + 3) = 8 (i.e.. 8 * sizeof ( int)}.