记住:计算机是以补码形式存数值!!!
记住:计算机是以补码形式存数值!!!
记住:计算机是以补码形式存数值!!!
重要的事情说三遍!!!记住:计算机是以补码形式存数值!!!
那个原码、反码就是方便计算出补码所表示的值而存在的。
一、补码是干什么的?
补码就是用来解决负数在计算机中的表示问题的!
然而为什么原码和反码不行呢?
是因为原码和反码太逊了!【我想起了杰哥,嘿嘿】
对于0,
补码直接0000
然而,原码和补码的0还要区分以下+0和-0,
原码为1000【-0】 和 0000【+0】
补码为1111【-0】和0111【+0】
所以原码和补码相当于多占一个数据,因此在16位数据中,对于原码/反码来说,其取值范围为 -32767~32767,然而并没有-32768.但是补码有-32768
另外补码在正数的值和原码的值相同。
怎样得到补码所表示的值呢?对于非负数数当然一眼就可以看出,
那对于负数呢?【在16位数据中】既然原码和反码都可以取到-32767,那可以在-1到-32764通过转换成原码来看出,最后-32768只需记住为1000 0000 0000 0000 【最高位为1,其余为0,表示最大负数-2^16】
下面是4位数据的原码,反码,补码形式