负0的原码为什么负0的补码,0的补码是什么
网友回答
补码的存在是为了变减法为加法,简化了计算过程,即硬件的设计难度.首先要知道两个零是怎么来的,0包括+0和-0,在原码和反码中根据其计算公式,有两种形式,而对于补码来说+0,真值为0,000000和-0,其真值为1,0000000补码:一个数如果为正,则它的原码、反码、补码相同;一个数如果为负,则符号位为1,其余各位是对原码取反,然后整个数加1.为了简单起见,我们用1个字节来表示一个整数:问题:0的补码表示:
+0的补码:00000000
-0的补码:第一步:11111111 第二步+1= 1 00000000 第三部:进位1被丢弃。
网友回答
0的补码是00000000。
假设机器的位长为0,正数x的最高位为0,其余位为数x的值
(8位长为例)
[+0]补= 0 000 000
负数x的补码表示为2^n-|x|
[-0]补 = 2^n = 10000 0000 = 0000 0000
综合[0]补=0000 0000
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
求给定数值的补码分以下两种情况:
正数
正整数的补码是其二进制表示,与原码相同
负数
求负整数的补码,将其对应正数二进制表示所有位取反(包括符号位,0变1,1变0)后加1 。
同一个数字在不同的补码表示形式中是不同的。比如-15的补码,在8位二进制中是11110001,然而在16位二进制补码表示中,就是1111111111110001。以下都使用8位2进制来表示。