数的补码表示及其加减运算
负数的补码表示:相应的正数按位求反,末位加1即为该负数的补码表示
求负数补码表示的方法:
(1)写出与该负数相对应的正数的补码
(2)按位求反
(3)末位加一
例:假设机器字长为8位,求-46的补码。
+ 46的补码表示为: 0010 1110
按位求反: 1101 0001
末位加一 1101 0010
所以,[-46]补码 = D2H
符号扩展:是指一个数从位数较少扩展到位数较多,如从8位扩展到16位,或从16位扩展到32位。
对于用补码表示的数,正数的符号扩展在前面补0,负数的符号扩展在前面补1,假设机器字长为16位,[+46]补码 = 002EH,[-46]补码 = FFD2H。
对一个二进制数按位求反、末位加一的运算称为求补运算.
在机器里,补码减法是通过对减数求补后把减法转换为加法进行的。符号位参加运算,能自动得到正确结果。
评论