2个回答
展开全部
当然是补码形式了,虽然负数也有用原码表示的(就是最高位变成1)。但是你可以发现如果用原码表示负数有一问题当数值从0增加到127时,原码从0~7F。但是一旦到了负数区域就从-0到-127,原码从80~FF,当他们进行转化的时候很不方便,而且又多了一个-0出来。显然是不希望了。
于是就有了反码,这个概念解决了正负数的对称问题,也就是说将-0~-127变成了-127~-0,这样的话就和0-127形成了很好的对称结构,只需要取反就可以得到相反数。但是,还没有解决-0的问题。
于是就有了补码这个概念,他的定义是将反码+1,刚好将-0给挤走了,增加了数值的值域(来了一个-128)。
计算机在运算的时候把所有的二进制全部当做无符号数来运算,并且负数全部采用补码(这样的话-0和+0的冲突就没了)。
于是就有了反码,这个概念解决了正负数的对称问题,也就是说将-0~-127变成了-127~-0,这样的话就和0-127形成了很好的对称结构,只需要取反就可以得到相反数。但是,还没有解决-0的问题。
于是就有了补码这个概念,他的定义是将反码+1,刚好将-0给挤走了,增加了数值的值域(来了一个-128)。
计算机在运算的时候把所有的二进制全部当做无符号数来运算,并且负数全部采用补码(这样的话-0和+0的冲突就没了)。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询