because char is treated as signed char...
the range for signed char is -128 to 127 ...

now think on these terms
1) number is stored as its binary equivalent...
2) when a number is signed it most significant bit is always high i.e. 1
3) a negative number is represented as it's 2's compliment

i believe when u think on these terms..u will easily understand the o/p.