感悟网 导航

关于补码问题,百度百科中貌似有错误,求大神解惑。具体情况如下。 补码到底是什么意思,百度百科里的解释根本看不懂。

作者&投稿:罗黎 (若有异议请与网页底部的电邮联系)
原码和补码怎么算?麻烦不要百度一堆专业术语来糊弄我,谢谢大神~

原码和补码怎么算?
原码和补码,都是用来表示带符号数的。

以补码形式,来代表带符号数,就可以和无符号数一样进行加减运算。

怎么算?就是逢二进一。

补码,为方便计算机运算,原理可以参考时钟,例如要将钟从10调到7,可以往回调3(-3),或者往后调9(+9),在这里-3与+9就是等价的,对于时钟来讲-3的补码就是+9。在计算机中对于n位2进制数的计算,由于位数确定,加上一个负数,等同于加上2的n-1次方加上此负数的值(最高位位符号位),所加的值即为负数的补码。整数补码算法楼上已有,不再重复。小数补码的计算以及溢出之类的相关知识建议参考下三级偏硬的教程,一般都会有比较详细的描述。

这里说的三个特性,都是错误的。

1、的错误,楼主已经看出来了,不用再说。

2、的错误,除了整数、负数分不清之外,还混淆了《补码》、《求补码》的概念。
针对一个数(称为真值),可以求出它的原码、反码和补码。
对一个补码,还能再求什么补码!
很明显,这是基本概念不清。

3、世界上的数,只有零,从来就没有正零和负零。
正零和负零,只是一种代码(原码和反码),并不是数。
-----
问题二:[X+Y]补 = [X]补 + [Y]补 这个要怎么证明啊?
又不是原码,为什么能直接相加减?

把补码的定义式,代入这个等式的两端,即可看出,等式成立。

假设在八位二进制数的条件下,定义式如下:
[X]补 = X 0 <= X <= 127
[X]补 = 256 - |X| -128 <= X < 0

百度百科是自由、开放、人人可编辑的百科全书,词条由网友和专家贡献,有错误楼主可以去改,但是要添加对应的参考资料。

《二进制补码怎么计算的》
答:= {原码符号位不变} + {数值位从右边数第一个1及其右边的0保持不变,左边安位取反} 以十进制整数+97和-97为例:+97原码 = 0110_0001b +97补码 = 0110_0001b -97原码 = 1110_0001b -97补码 = 1001_1111b 2、纯小数的原码:纯小数的原码如何得到呢?方法有很多,在这里提供一种较为...

《补码有什么用?》
答:这个全讲得很详细估计得打很多字` 我懒~所以简单说哈~计算机不会减法`所以用补码把减法变成加法` 你看的数一般就说 "正数的补码是其本身,负数的补码是原码按位取反后1,符号位就是最高位等等`"但是确没说为什么 正书可以127`负数居然可以存128位其实是不准确`或者说有的地方是不对的从底层看`只...

《什么是补码???》
答:模为2(8)。 在这样的系统中减法问题也可以化成加法问题,只需把减数用相应的补数表示就可以 了。把补数用到计算机对数的处理上,就是补码。另外两个概念 一的补码(one's complement) 指的是正数=原码,负数=反码 而二的补码(two's complement) 指的就是通常所指的补码。这里补充补码的代数加减运算...

《补码是什么意思?》
答:可有效简化运算器的设计。补码表示统一了符号位和数值位,使得符号位可以和数值位一起直接参与运算,这也为后面设计乘法器除法器等运算器件提供了极大的方便。补码概念的引入和当时运算器设计的背景不无关系,考虑到了数据存储和处理所需要的硬件代价。以上内容参考 百度百科——补码 ...

《电脑中原码和补码是什么关系?》
答:原码,反码,补码是机器存储一个具体数字的编码方式。原码跟补码之间的关系是:正数的补码与原码相同,负数的补码为 其原码除符号位外所有位取反(得到反码了),然后最低位加1。在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。原...

《计算机中的补码是什么意思,能给最好给几个例子》
答:⑵如果补码的符号位为“1”,表示是一个负数,那么求给定的这个补码的补码就是要求的原码。【例3】已知一个补码为11111001,则原码是10000111(-7)。因为符号位为“1”,表示是一个负数,所以该位不变,仍为“1”。其余七位1111001取反后为0000110;再加1,所以是10000111。摘自百度百科:http://...

《二进制补码运算溢出判断》
答:补码运算的溢出判别方式为双高位判别法,利用Cs表示符号位是否进位,利用Cp表示最高数值位是否进位。如果Cs ^ Cp的结果为真,则代表发生了溢出(运算结果大于0则为负溢出,小于0则为正溢出),否则运算结果正确。例如:1000 0011(补码为-3,原码为-125) 0000 0011(补码为3,原码为3)+1100 100...

《补码1.0000的真值为什么是-1呢?》
答:补码取反再加一就是原码。求补码要分情况:对于定点小数来说,表示方法为:[x]补=x(1>x>=0)[x]补=2-x(0>=x>=-1)因此-1的补码为2--1=1.0000对于定点整数来说,表示方法为:按位取反,末位加1这个方法。1.00000 1代表负数 0.0000真值就是各位变反,末尾加1,也就是 0.1111+0....

《补码是怎样求原码的?》
答:以补码10010110为例,有两种计算方法求原码:算法1:补码=原码取反再加1的逆运算。10010110是补码,应先减去1变为反码,得10010101;由反码取得源码即除符号位外其他为按位取反,得11101010,即十进制数的-106。算法2:负数补码速算法,由最低位(右)向高位(左)查找到第一个1与符号位之间的所有数字按...

《原码和补码有什么区别,有什么联系吗?》
答:按位取反。在反码表示中,数值0有两种表示方法。补码:补码的出现是为了解决负数计算的问题,不影响正数,所以正数的补码是本身,负数补码有变化。正数的补码等于它的原码,负数的补码等于反码+1。这是一种算补码的方式,多数书对于补码就是这句话。以上内容参考:百度百科—原码 ...

   

返回顶部
本页内容来自于网友发表,若有相关事宜请照下面的电邮联系
感悟网