比如a=10其二进制为00000000000000000000000000001010
因为a为正数,即a的原反补码均为00000000000000000000000000001010
如果a=-10其二进制为10000000000000000000000000001010
对于要取反的数
比如还是a=-10,取反后为011111111111111111111111111111111110101。但是这个为补码,需要将其转换为原码,这里也有两种方式,第一种为再次取反(第一个符号位不取反)然后加1;第二种为减1后取反(第一个符号位不取反),相对来说一般是使用第一种,00000000000000000000000000001011。
对于整形来说:数据存放内存中其实存放的是补码。 为什么呢? 在计算机系统中,数值⼀律⽤补码来表⽰和存储。原因在于,使⽤补码,可以将符号位和数值域统⼀ 处理;同时,加法和减法也可以统⼀处理(CPU只有加法器)此外,补码与原码相互转换,其运算 过程是相同的,不需要额外的硬件电路