目录
计算机中的符号数有三种表示方法,即原码、反码和补码。三种表示方法均有符号位和数值位两部分,符号位都是用0表示“正”,用1表示“负”,而数值位,三种表示方法各不相同。
在计算机系统中,数值一律用补码来表示和存储。原因在于,使用补码,可以将符号位和数值域统一处理;同时,加法和减法也可以统一处理。此外,补码与原码相互转换,其运算过程是相同的,不需要额外的硬件电路。
原码:就是用二进制表示的值
反码:
补码:正数的补码是其二进制表示形式
负数的补码为其对应正数二进制所有位取反结果加一
整数的加减法运算:
[x±y]补=[x]补±[y]补
例:4+(-3)与4-(-3)(规定内存长度为4)
4的补码:0100
-3的补码:1101
-(-3)的补码:0011
4+(-3):0100+1101=0001(对应十进制的1)
4-(-3):0100+0011=0111(对应十进制的7)
注意:对求过的补码再去求补码时没有正负数之分
如-3的补码为1101再求其补码时不能看成对0101取反在加1,直接就是对1101取反再加一
整数的乘除运算:
左移a位相当于将原数乘
右移a位相当于将原数除以
但在移位的过程中分为逻辑移位与算数移位
左移时在右边都补充0,右移时逻辑运算左边补0,算数运算左边补1
注意:在移位时可能会使数值丢失部分值