1.负数的表现形式,为什么如此设计?

2.-128是在内存中是如何存储的?推算过程?

3.如果字节表示为11111111,则其真实数据是多少?

4.正负数是否都支持补码的方式?

5.正数是否是负数的减一取反?

-----------------------------------------------------------------

  1. 负数的表现形式是正数取反加一。如此设计正负值相加时首位的1由于超出表示范围会溢出。得到符合补码表示法的正确数值。

  2. -128在8位的字节存储结构中=1000 0000,在补码表示法中,1000 0000的补码也是1000 0000,由于它的符号位是1,代表负数则它表示-128。

    如果用-127-1的方式推算-128,则过程如下

    +127=0111 1111,-127=1000 0001,-128=-127-1=1000 0000

  3. 从符号位来看这是一个负数,先得到它的正数。1111 1111的取反加1为0000 0001,则真实数据为+1  

  4. 正负数都支持补码的方式

  5. 是,127=0111 1111=^(1000 0001-1)=0111 1111。