原码反码补码:计算机整数的运算为啥用补码?运算过程举例理解

原码 反码 补码基本知识
  • 正整数:原码、反码、补码均是原码本身
  • 负整数:反码 = 原码按位取反(符号位除外) 补码 = 反码+1
    例如
    byte 1
    原码:0000 0001
    反码:0000 0001
    补码:0000 0001
    byte -3
    原码:1000 0011
    反码:1111 1100 (原码按位取反,符号位除外)
    补码:1111 1101 (反码+1)
为啥要用补码

正负数,在计算机中存放的格式,就是补码。计算机中,并没有原码和反码,也就不必关心它们了。下面,针对补码,给出解释。
比如,有一个小孩,很小的。他只认识 100 个数(0~99),也不会做减法。那么,就可以告诉他:“减一”,就用“加 99”算吧。
  36 - 1 = 35
  36 + 99 = (1) 35
忽略进位的 100,结果不是一样的吗?
那么,就是说:
 99,就是-1 的补数。
 98,就是-2 的补数。
 。。。
利用“补数”,就可把“减法”转为“加法”。利用这个特点,计算机中,仅需一个“加法器”,就够用了。

用补码进行计算的过程

在这里插入图片描述

posted @ 2021-05-22 21:40  HumorChen99  阅读(28)  评论(0编辑  收藏  举报  来源