计算机中求数的补码怎么求?取反加一中的加一什么意思?

如题所述

第1个回答  2015-03-18
反码之后在二进制的基础上加一追问

什么意思

比如-62的补码是多少

追答

一共16位。第一位是零。因为是负数

剩下十五位用二进制表示62

会十进制表示二进制么

追问

比如-62原码是1111110取反后应该是1000001加一后应该是1000002啊

追答

二进制,缝二进11

进1

应该是1000010

追问

追答

二进制是不可以有二的

追问

为什么是100010

追答

只有0 1

追问

那怎么加一呢

追答

因为有2要向前进一位

比如10进制只有0到9

达到二的话,就往前进一位

追问

向前进一位前一位变成1那后一位为什么成0了呢

应该是1000011而不是1000010啊

追答

那就是进两位了

你看看100010在加一是不是100011

追问

是啊

就是说二进制中1+1等于10吧

追答

聪明

追问

那八进制中7+1等于多少呢

追答

0

缝8进一

这个好理解的

追问

也等于10

追答

不是等于10,跟十进制的9加1是一个道理

追问

好吧,我懂了

本回答被提问者采纳
第2个回答  2015-03-18
在反码的基础上再加上1追问

怎么加一

追答

先算出负数绝对值的原码,再按位求反,0变1,1变0,得到的就是反码,把这个二进制数加1,得到的就是补码

追问

加一如果最后一位是1那加一后不就变成2了吗

第3个回答  2015-03-18
最后一位加1追问

怎么加一

追答

例如10001的补码,就是取反之后,变成11110,然后将最后一位0加1,就是11111

第4个回答  2022-06-25

原码取反加一,这只是一个方法,并不是补码的定义。

补码的来源,并不是什么原码反码符号位以及取反加一。

学习取反加一,确实是【不能理解补码的意义】。

补码,其实,是一个“代替负数运算的”的正数。

借助于补码,减法,就可以用加法代替。

使用补码,就能统一加减法,从而可以简化计算机硬件。

--------------------------

为什么正数(补码)能够代替负数呢?

用十进制来说明,比较容易理解。

如果限定【仅用 2 位 10 进制数】,就可以发现:

  24 - 1 = 23

  24 + 99 = (一百) 23

要求保留 2 位数,进位,就必须忍痛舍弃了。

这样一来,+99 就和-1,是完全等效的。

+99,就称为-1 的补数。

+98,是-2 的补数。

。。。

如果,使用 3 位 10 进制数,-1 的补数,就是+999 了。

求补数的公式,大家都可以自己推导出来:

  补数 = 负数 + 10^n, n 是位数。

式中的 10^n,是 n 位 10 进制数的计数周期。

--------------------------

计算机使用 2 进制,补数,就改称为:补码。

在计算机中,CPU 的每次计算,其位数,也是固定的。

八位机,就是八位,16 位机就是 16 位。

一个字节,是 8 位 2 进制,所以有 2^8 = 256 组代码。

其范围是:0000 0000~1111 1111 (十进制 255)。

此时,-1 的补码,就是 255 (1111 1111)。

同理,-2 的补码是 254 (1111 1110)。

。。。

求补码的公式,仍然和十进制雷同:

  补码 = 负数 + 2^n, n 是位数。

式中的 2^n,是 n 位 2 进制数的计数周期。

只有负数,才需要用补码替换。

而正数,必须直接进行计算,不许变换。

所以,正数,就不必讨论补码的问题。

在 256 组二进制中,用 128 组来代替负数:-1~-128。

-1 的补码是:-1 + 2^8 = 255 = 1111 1111。

 。。。 

-128 的补码是:-128 + 2^8 = 128 = 1000 0000。 

以上,就是【补码的来源,以及存在的意义】。

不详之处,大家自己再补充吧。

--------------------------

由求补码的公式:补码 = 负数 + 2^n。

就可以推出“绝对值取反加一”的简便方法。

注意:

只能推出“绝对值取反加一”,

而不是“原码取反加一,符号位不变”。

那么,“原码取反加一,符号位不变”是怎么来的? 不知道!

原码反码符号位,都没有理论基础,凭空说白话而已,完全属于无稽之谈。

一个零,在原码反码中,都指定了两个代码。

这样的代码,就是不合理的,所以,计算机根本就不使用这两种代码。

而且,-128 有八位的补码,却没有原码和反码。

那么,用“原码取反加一 ... ”,是不可能求出补码的!

相似回答