补码原码反码移码(补码原码反码)

2023-01-04 综合百科 0阅读 投稿:佚名
最佳答案大家好,小问来为大家解答以上问题。补码原码反码移码,补码原码反码这个很多人还不知道,现在让我们一起来看看吧!1、原码、反码、补码 表示一个数值要先说明是用多少bit,例如: 用8bit表示数值时,(-128)没有相对应的原码和反码, (-128)补码 = (1000 0000) 同理(2B=16bit)表示:(-32768)补码=(1000...

大家好,小问来为大家解答以上问题。补码原码反码移码,补码原码反码这个很多人还不知道,现在让我们一起来看看吧!

1、原码、反码、补码 表示一个数值要先说明是用多少bit,例如:   用8bit表示数值时,(-128)没有相对应的原码和反码, (-128)补码 = (1000 0000) 同理(2B=16bit)表示:(-32768)补码=(1000 0000 0000 0000),后面回给出证明, 因为它是不能简单的用取反加一的方法来求反码的。

2、 证明:用(2B=16bit)表示:(-32768)补码=(1000 0000 0000 0000) (1)32767(正数补码与原码相同)是0111 1111 1111 1111 (2)-1的补码,其原码取反在加一得 1111 1111 1111 1111 (3)0111 1111 1111 1111+1000 0000 0000 0000=1111 1111 1111 1111 (4)(令上式x==1000 0000 0000 0000)即:32767+x=-1 (5)x=-32768   至于用(2B=16bit)表示,取反加一求(-32768)的补码,还望哪个高手指点简单的证明过程。

3、 希望大家以后在被问为什么(-128)补码 = (1000 0000), (-32768)补码=(1000 0000 0000 0000)不要在说什么取反加一的话,   那样你证明我看看。

4、给出证明,免得人家不明白还以为你在谈什么高深的话题, 结果却是被忽悠了。

5、 下面举例说明求负数的补码的补码 -1的补码是0xFFFF. 它是这样求的: -1的原码: 1000 0000 0000 0001 ,   数值位按位求反: 0xFFFE==1111 1111 1111 1110, 末位加1: 0xFFFF==1111 1111 1111 1111 现在还按这个补码的求法, 作用在0xFFFF上, 0xFFFF : 1111 1111 1111 1111 数值位按位求反: 1000 0000 0000 0000 末位加1: 1000 0000 0000 0001, 这样又得到了-1。

6、 就像求负数的绝对值,彼此导来导去都可以。

7、 ************************************************** ************************* ************************************************** ************************* 补码的计算和引进补码的原因:   数值有正负之分,计算机就用一个数的最高位存放符号(0为正,1为负). 这就是机器数的原码了.假设机器能处理的位数为即字长为1byte, 原码能表示数值的范围为(-127~-0 +0~127)共256个. 有了数值的表示方法就可以对数进行算术运算. 但是很快就发现用带符号位的原码进行乘除运算时结果正确,   而在加减运算的时候就出现了问题,如下: 假设字长为8bits

(1)10 - (1)10= (1)10+ (-1)10 = (1)10 。

以上就是【补码原码反码移码,补码原码反码】相关内容。

声明:随心百科 所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流。若您的权利被侵害,请联系我们删除