①前提内在条件:、
计算机对数据的计算方式是:采用数的补码进行直接的加减运算。
在计算机系统中,数值一律用补码来表示和存储。使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。
原码不能直接参加运算,可能会出错。例如数学上,1+(-1)=0,而在二进制中00000001+
10000001=10000010,换算成十进制为-10,错误。
但是采用他们的补码:00000001+11111111=00000000.
则可以进行正常的直接加减运算。
所以:对于求补码问题。
正数的补码为他本身;
负数的补码为:
①2进制:11111111-正数的2进制码+1.
②16进制:FFFF-正数16进制码+1;
原理:正数+负数=0。而0的表示方法只有一种:00000000;0000
所以本该用,0000-正数,结果即为负数的补码。而不好减,所以把0000转化为FFFF+1,
或者11111111+1.
例:给出-100,求其16进制的补码。
先求正数100的16进制为:0X64,
然后套用公式:FFFF-0064+1=FF9C。
FF9C即为所求。