原码、反码和补码举列

原码反码补码举列

以10 和负10举例

数值10的二进制 数值负10的二进制 10+(-10) 正数口诀 负数口诀
原码 0000 1010 1 000 1010 =1 001 0100
发现结果是错误的
正数即本身 最高位为符号位(注:红色字体为高位)
反码 0000 1010 1 111 0101 = 1 111 1111
这个结果为负的128显然不太对
正数即本身 高位不变,其余的按位取反)
补码 0000 1010 1 111 0110 =0 000 0000
显然补码比较适合
正数即本身 取反码的二进制结果各位加1变成了
逢二进一(绿色字体)

最高位为符号位(从右往左第一个)0表示正数,1表示负数,非符号的代表该数字绝对值的二进制。

  • 有符号的1bit可以表示为 1 111 1111 取值范围-128->+127
  • 无符号的1bit可以表示为 1 111 1111 取值范围0->256

计算机用的是补码吗,为什么计算机中要采用补码?

在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值一并处理,不需要单独的处理符号位而降低复杂度,使得加法和减法也可以统一处理(为什么要用补码,好处是什么?)。

为了表示二进制数,如果直接用源码形式,需要额外的硬件(缺点)区分符号位0,1;

如果用反码,无需硬件分辨符号位,但是0由两种表达方式(缺点);

那么选用补码的话,0只有一种表达方式,而且比别的表达方式多表达一个数(优点)

用补码计算3-2,那就用(+)3的补码加上(-2)的补码

也就是011+110=(1)001 //进位要舍去,这样减法也可以用加法来运算,不用判断符号位;

计算1-3:
001+101=110 (-2)

5+(-7)例子

若还不清楚看看这个视频

-----前路漫漫当克己 当慎独 磨棱角 退优越 沉下心------
归档:我的知识栈:目录(更新中...)
作者:AuriGe本文版权归作者和博客园共有,重在学习交流,不以任何盈利为目的,欢迎转载。
敲敲小黑板:《刑法》第二百八十五条 【非法侵入计算机信息系统罪;非法获取计算机信息系统数据、非法控制计算机信息系统罪】违反国家规定,侵入国家事务、国防建设、尖端科学技术领域的计算机信息系统的,处三年以下有期徒刑或者拘役。违反国家规定,侵入前款规定以外的计算机信息系统或者采用其他技术手段,获取该计算机信息系统中存储、处理或者传输的数据,或者对该计算机信息系统实施非法控制,情节严重的,处三年以下有期徒刑或者拘役,并处或者单处罚金;情节特别严重的,处三年以上七年以下有期徒刑,并处罚金。

posted @ 2022-09-07 17:49  AuriGe  阅读(99)  评论(0)    收藏  举报