㈠ 补码的基本运算
补码相加后的结果:1010 1100 是答案的补码,要转化成原码,才是最终答案.
补码转原码方法同原码转补码,即符号位不变,其余按位取反后+1
1010 1100
求反:1101 0011
求补野渗圆:1101 0100
即:-84
这里用到了补码的运算规则:[X+Y]补=[X]补+[Y]补
求出[X]补+[Y]补后还要求一次补,才能得到答案X+Y
(1)电脑补码原理讲解视频扩展阅读:
补码运算原理:在计算机里,如果我们要计算5-3的值,我们既可以用5减去3,也可以用5加上13。
这就像我们的钟表,它从1点走到12点之后,又回到了1点。我们的计算机也是,从0走到15之后,再往下走就又回到了0,就像我们转了一个圈一样。我们喊咐从5这个位置往回退3个格,就完成了5-3这个计算。
我们也可以从5这个位置往前走,一直走到15,这时我们走了10个格,然后我们继续颂塌往前走,走到0,然后到1,然后就走到了2。这样,我们往前走了13个格之后,也到了2这个位置。
所以说,在我们这个计算机中,减3和加13是一样的。而3+13=16,我们说在模16的系统下,3和13是互补的。
这样,我们计算5-3就可以换成5+13。3的二进制表示为0011,5的二进制表示为0101。这样,0101-0011就可以表示为0101+(-0011)。
我们在计算机中都是把负数用其补码表示,-0011的补码就是10000-0011(即16-3,也就是13)。10000-0011=1+1111-0011=1+(1111-0011)=1+1100=1101。
我们总说补码是“按位取反再加一”,看了上面这个式子相信大家就会明白了,其实就是把10000-0011换成了1111-0011再加1的形式。
然后,0101-0011就换成了0101+1101,它们计算出来的结果为10010。由于我们的计算机只有四个bit,所以结果为0010。即,在模16的计算机中,5-3=5+13=2。
㈡ 计算机补码原理是什么
1、计算机补码的原理
在计算机系统中,数值一律用补码来表示(存储)。
主要原因:使用补码,可以将符号位和其它位统一处理;同时,减法也可按加法来处理。另外,两个用补
码表示的数相加时,如果最高位(符号位)有进位,则进位被舍弃。
2、补码与原码的转换过程几乎是相同的。
数值的补码表示也分两种情况:
(1)正数的补码:与原码相同。
例如,+9的补码是00001001。
(2)负数的补码:符号位为1,其余位为该数绝对值的原码按位取反;然后整个数加1。
例如,-7的补码:因为是负数,则符号位为“1”,整个为10000111;其余7位为-7的绝对值+7的原码 0000111按位取反为1111000;再加1,所以-7的补码是11111001。
3、已知一个数的补码,求原码的操作分两种情况:
(1)如果补码的符号位为“0”,表示是一个正数,所以补败唤码就是该数的原码。
(2)如果补码的符号位为“1”,表示是一个负数,求原码的操作可以是:符带基号位为1,其余各位取反,然后再整个数加1。
例如,已知一个补码为11111001,则原码是10000111(-7):因为符号位为“1”,表示是一个负
数,所以该位不变,仍为“1”;其余7位1111001取反后为0000110;再察行凯加1,所以是10000111。
㈢ 补码的原理
加法器计算机里面,只有加法器,没有减法器,所有的减法运算,都必须用加法进行。即:减去某个数字(或者说加上某个负数)的运算,都应该研究如何用加法来完成。模、补数在日常生活当中,可以看到很多这样的事情:把某物体左转 90 度,和右转 270 度,在不考虑圈数的条件下,最终的效果是相同的;把分针倒拨 20 分钟,和正拨 40 分钟,在不考虑时针的条件下,效果也是相同的;把数字 87,减去 25,和加上 75,在不考虑百位数的条件下,效果也是相同的;……。上述几组数字,有这样的关系:90 + 270 = 36020 + 40 = 6025 + 75 = 100式中的 360、60 和 100,就是“模”。式中的 90 和 270、20 和 40,以及 25 和 75,就是一对对“互补”的数字。知道了“模”,求某个数字的“补数”,就是轻而易举的了:如果模为 365,数字 120 的补数为:365 - 120 = 245。用补数代替原数,可把减法转变为加法。出现的进位就是模,此时的进位,就应该忽略不计。二进制数的模前面说过的十进明戚制数 25 和 75,它们是 2 位数的运算,模是 100,即 1 的后面加上 2 个 0。如果有 3 位数参加运算,模就是 1000,即 1 的后面加上 3 个 0。这里的 1000,是十进制数的一千,可以写成 10^3,即 10 的 3 次方。推论:有多少位数参加运算,模就是在 1 的后面加上多少个 0。对于二进制数字,模也是这样推算。如果是 3 位二进制数参加运算,模就是 1000,即 1 的后面加上 3 个 0;那么当 8 位二进制数参加运算,模就是 1 0000 0000,即 1 的后面加上 8 个 0。16 位二进制数参加运算,模可就大了,是 1 的后面加上 16 个 0。注意:这里提到的 1、0,都是二进制数。8 位二进制数的模可以按照十进制写成 2^8,即 256。16 位数二进制数的模,就是 2^16,按照十进制,它就是 65536。二进制数的补码求二进制数的补数,目的是往计算机里面存放。在计算机里面,存放的数字什么的,都称为机器码;那么二进制形式的补数,也就改称为补码了。一般情况下,都是以 8 位二进制数来讨论补码,少数也有用 16 位数的。计算时加上正数,是不需要进行求取补数的;只有进行减法(或者加上负数),才需要对减数求补数。补码就是按照这个要求来定义的:正数不变,负数即用模减去绝对值。已知一个数 X,其 8 位字长的补码定义为:/ X 0 <= X <= +127 ;正数和0的补码,就是该数字本身 [X]补裤亏 = |\ 2^8 -|X| -128 <= X < 0 ;负数的补码,就是用 1 0000 0000,减去该数字的绝对值例如 X = -126,其补码为 1000 0010,计算方法如下:1 0000 0000-0111 1110-----------1000 0010可以看出,按照补码的定义来求补码,概念十分清晰胡槐神,方法、步骤也是十分简单的。
㈣ 计算机的原码,反码,补码是怎么回事可以举例说明吗
原码、反码和补码是计算机中对数字二进制的三种表示方法。
1、原码
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正配卖数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
例如:用8位二进制表示一个数,+11的原码为00001011,-11的原码就是10001011。
2、反码
反码是数值存储的一种,多应用于系统环境设置,如linux平台的目录和厅知文件的默认权限的设置umask,就是使用反码原理。反码的表示方法是:正数的反码与其原码相同;负数的反码是对正数逐位取反,符号位保持为1。
例如:
[+7]反= 0 0000111 B;
[-7]反= 1 1111000 B。
3、补码
正数:正数的补码和原码相同。负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
例如:
[+7]补= 0 0000111 B;
[-7]补= 1 1111001 B。
(4)电脑补码原理讲解视频扩展阅读
原码、反码、补码的转换方法如下:
(1) 已知原码,求补码。
例:已知某数X的原码为10110100B,试求X的补码和反码。
首先通过原码的首位确定该数字的正负,若为正数,反码与原码相同,补码比原码在末尾加1;若为负数,求其反码时,符号位培伏逗不变,数值部分按位求反;求其补码时,再在其反码的末位加1。
(2)已知补码,求原码。
按照求负数补码的逆过程,数值部分应是最低位减1,然后取反。但是对二进制数来说,先减1后取反和先取反后加1得到的结果是一样的,故仍可采用取反加1的方法。
㈤ 补码是什么意思
负数,存放在计算机中,就称为:补码。
--------------
时钟的时针,周期是 12 小时。
倒拨 3 小时,也可以用正拨 9 小时来代替。
9,就是-3 的补数。补数=周期+负数。
分针倒拨 X 分,也可用正拨 60-X 代替。
60,是周期。
--------------
如果使用两位十进制数 0~99,共 100 个数,周期就是一百。
减一,就可以用 +99 代替:
28 - 1 = 27
28 + 99 = (1) 27
忽略进位(一百),两种算法的结果,就是相同的。
于是,99,就是-1 的补数;
同理,98,就是-2 的补数;
利用【补数】,就可把“负数”改为“正数”。
利用【补数】,就可把“相减”运算,改为“相加”。
求-1 【补数】的计算方法是:
周期 + 负数 = 100 - 1稿做 = 99。
其他负数,也可用此公式计算。
-------------
计算机中,没有数字。1 和 0,都是代码。
八位二进制,称为一个字节。
0000 0000~1111 1111,共 256 个代码。
对应的十进制是:0~255。周期就是 256。
-1,就可以用 255 = 1111 1111 (二进制) 代替,
-2,就可以用 254 = 1111 1110 (二进制) 代替,
那么,1111 1111 就称为-1 的补蚂瞎码;
同理,1111 1110 也就是-2 的补码。
。。。
补码的定义式,如下:
负数的补码,就是:周期,加上该负数。
正数,没有补码。必须直接运算,不可变换。
求补码,并不涉及“原码反码符号位”这些垃圾知识。键物衡
原码反码,在计算机中,都是不存在的。
-------------
补码,有什么意义?
借助于补码,就能用加法,代替减法运算。
那么,计算机中,只需要有一个加法器即可。
这就简化了硬件。
原码和反码,并没有这种功能。
所以,计算机中,只是使用补码。
原码反码,在计算机中,都不存在,根本就不需要讨论。
㈥ 计算机中补码为什么等于原码取反加一
计算机中补码定义等于原码取反加一最大的好处就是运算方便。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
补码还有以下特性:
1、一个负整数(或原码)与其补数(或补码)相加,和为模。
2、对一个整数的补码再求补码,等于该整数自身。
3、补码的正零与负零表示方法相同。
㈦ 什么叫做补码
补码,应该是最容易理解的知识了。
小学生都可以自己摸索出来。
按照四位二进制来说,共有 16 组代码。
数字 0 的二进制,就是 0000,
数字 1 的二进制,就是 0001,
。。。
数字 7 的二进制,就是 0111。
可见下表:
四位补码
总结:
零和正数的补码,就是数字本身(也可转为二进制)。
负数的补码,就是: 16+这个负数。
(如果是 8 位二进制,就改用: 256 + 这个负数。)
--------
整个推算过程,并不需要使用“原码反码符号位”这些垃圾。
计算时,使用十进制,简单方便。得出的补码,当然也是十进制。
如果需要二进制,就变换一下。
补码,很难吗?
如果不涉及原码反码符号位,就一点也不难。
-----------
补码有什么用呢?
利用补码,可以把减法运算,转换成加法。
(所以,在计算机中,有一个加法器,就够用了。)
例如:6-2 = 4,用补码运算如下:
6 的补码是 0110、-2 的补举洞码是 1110。
0110 + 1110 = (1) 0100 (= 4 的补码)
(括号中的 1,是进位,舍弃不要了。)
注意:
如果运算结果超出了-8~+7 的范围,结果将是错的。
这种现象称为“溢出”。
再注意一下:进位,并不等于溢出。
---------
因为补码的这个特性,所以,在计算机中,只是使用补码存放数据。
而原码反码,在计算机中,都是不存在的。
原码反码 的森兆用途,只是用于“笔算”。
其实,笔算的方法,并非只有“取反加一”。
原码反码,只是砖家为了增加收入,瞎编的垃圾而已。
所以,大家,完全不必在原码反码上浪费时间精力。
但是,考试怎么办?
呃 ...,千万别跟老师较劲,他怎么讲,你就怎么答吧。