信息学奥赛CSP-J/S初赛必看!补码的概念如何理解?

发布时间: 2023-08-23 21:31

 补码:分正数和负数两种情况。

补码正数:所有位和反码一样,当然也和原码一样。

补码负数:等于反码加1。简单的一句话,其实很麻烦。

比如:77的补码表示为01001101(和原码、反码一致);-77的补码表示为10110011。

加1之后会有进位,因为补码没有符号位,所以负零的补码表示也是00000000。

特点:表示比补码更麻烦。但是解决了一个问题:0只有一种表示。

 

补码加法:在计算机中,凡是带符号数一律用补码表示,运算结果自然也是补码。其运算特点是:符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。

补码加法的运算规则为:

即:两数补码的和等于两数和的补码。

【例】已知 [+51]补=0011 0011,[+66]补=0100 0010,[-51]补=1100 1101;

求:[+66]补+[+51]补=?,[+66]补+[-51]补=? 

【解】:(1)由于 [+51]补=0011 0011,[+66]补=0100 0010,

 

故 [+66]补+[+51]补=[(+66)+(+55)]补=01110101 

结果为正,因此

 [(+66)+(+55)]原=[(+66)+(+55)]补=01110101 

其真值为+117,计算结果正确。

(2) 由于 [+66]补=0100 0010,[-51]补=1100 1101,