计算机如何区别原码与补码
使用补码的意义在于:可把负数变正数,可把减法变加法。从这个实用性来讲,计算机中,只是用补码。原码根本就不存在。-------计算机,是执行程序的。程序,都是由人,编写的。所以,不是计算机来区别原码、补码。而是由人,来区别。-------如果限定,只是使用两位十进制数 0~99,共有一百个。那么,减一,就可以用 +99 代替: 24 - 1 = 23 24 + 99 = (1) 23只保留两位,忽略进位,结果就是相同的。99,就称为-1 的补数。-------看到了吗? 出现了进位。如果你忽略了进位,实际上就是减法运算!--这时,99 就是补数,是当做-1 来用的。如果不忽略进位,结果就是 1 百 23,这还是加法运算。--此时,99,就是正常的数字。。。。。。。一个代码,到底是原来的数字,还是代表负数?就看你怎么对待它了。这些都是由编程人,来决定。计算机,它才不管这些。
计算机原码反码补码怎么算
计算机中,并没有原码和反码,只是使用补码,代表正负数。使用补码的意义:可以把减法或负数,转换为加法运算。从而简化计算机的硬件。------------比如钟表,时针转一圈,周期是 12 小时。倒拨 3 小时,可以用正拨 9 小时代替。9,就称为-3 的补数。计算方法:12-3 = 9。对于分针,倒拨 X 分,就可以用正拨 60-X 代替。------------如果,限定了两位十进制数 (0~99),周期就是 100。那么,减一,就可以用 +99 代替。 24-1 = 23 24 + 99 = (1) 23忽略进位,只取两位数,这两种算法,结果就是相同的。于是,99 就是 -1 的补数。其它负数的补数,大家可以自己求!求出了负数的补数,就可用加法,代替减法了。------------计算机中使用二进制,补数,就改称为【补码】。常用的八位二进制是:0000 0000~1111 1111。它们代表了十进制:0~255,周期就是 256。那么,-1,就可以用 255 = 1111 1111 代替。所以:-1 的补码,就是 1111 1111 = 255。同理:-2 的补码,就是 1111 1110 = 254。继续:-3 的补码,就是 1111 1101 = 253。。。。最后:-128,补码是 1000 0000 = 128。计算公式:负数的补码=256+这个负数。正数,直接运算即可,不需要求补码。 也可以说,正数本身就是补码。------------补码的应用如: 7-3 = 4。用补码的计算过程如下: 7 的补码=0000 0111 -3的补码=1111 1101--相加------------- 得: (1) 0000 0100 = 4 的补码舍弃进位,只保留八位,作为结果即可。这就是:使用补码,加法就代替了减法。所以,在计算机中,有一个加法器,就够用了。原码和反码,都没有这种功能。------------原码和反码,毫无用处。计算机中,根本就没有它们。
为什么要使用原码,反码,补码
哪有什么原码、反码!在计算机中,只使用补码来存放正负数。计算机中,以八个二进制位,作为一个字节。 数字 0,存放的补码,就是 0000 0000。正数,依次递增,即可: 数字 +1,其补码就是 0000 0001。 数字 +2,其补码就是 0000 0010。 。。。负数,就是依次递减: 数字-1,就是 0000 0000-1 = 1111 1111。 数字-2,就是 1111 1111-1 = 1111 1110。 。。。----归纳: 正数的补码,就是:数字本身。 负数的补码,就是:0 + 该负数。比如: +9 的补码是:0000 1001。 -9 的补码是:0000 0000-0000 1001=1111 0111。求补码的计算过程,并不需要原码反码。----有了补码,就可以用加法,代替减法运算了。比如: (+2)-(+1) = +1。计算机计算如下: 0000 0010 + 1111 1111= 0000 0001。