1、补码加法运算:两个相加的数无论正负,只要表示成对应的补码形式,则可直接按二进制规则相加,且符号位作为数的一部分直接参与运算,所得结果就是和的补码形式,用关系式表示

[x]补 + [y]补 = [x+y]补

2、补码减法运算:

[x-y]补 = [x+(-y)]补 = [x]补 + [-y]补

 [-y]补称为[y]补的机器负数。

不管 y的真值是正数还是负数,已知 [y]补求机器负数[-y]补的方法是:将[y]补连同符号位一起变反,末尾加1(定点小数中这个1就是2的-n次方)。

3、补码的运算规则:

(1)参与运算的操作数用补码表示;
(2)符号位参加运算;
(3)若指令操作码为加,则两数直接相加;若操作码为减,则将减数连同符号位一起变反加1后再与被减数相加;
(4)运算结果用补码表示;

例题

例题:[x]补=00110110,[y]补=11001101;求[x-y]补?

解:(1)[x]补=00110110,[y]补=11001101;
    (2)[-y]补=00110010+1=00110011;
     (3) [x-y]补=00110011;

 

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐