原码
定义:十进制数的二进制表现。最右边的是符号位,0为正、1为负。
弊端:利用原码计算正数完全没有问题。但是如果计算负数的话结果就会出错,实际计算方向,跟正确的运算方向是相反的。
反码
目的:为了解决原码不能计算负数的问题而出现
计算规则:正数的反码不变,负数的反码在原码的基础上,符号位不变。数值取反,0变1,1变0.
弊端:负数计算的时候,如果结果是不跨0,结果是没有问题的,但是如果结果跨0,跟实际结果就会有1的偏差。
补码
目的:为了解决负数计算跨0的问题出现
计算规则:正数的补码不变,负数的补码在反码的基础上+1即可。另外补码还能多记录一个特殊的值-128,改数值在一个字节之下,没有原码和反码。
注意点:计算机中存储和计算机都是以补码的形式进行的。