I am styding about the different data types in C. In my book it is written that the signed char data type is of 1 byte(8 bits). Now,it is written that the range of ASCII codes that can be stored in signed char data type is from -128 to 127.
It was written that a negative number is stored as a 2's complement of its binary.
I can't understand how is it possible to store the 2's complement form of -128 within 8 bits?
First of all we need 9 bits to write the signed binary representation of +128 which is 010000000.Now, if we take the 2's complement form of it, we get 110000000 which is also 9 bits long. Then how are we able to store -128 in a 8 bit signed char?