欢迎来到天天文库
浏览记录
ID:37518022
大小:1.01 MB
页数:35页
时间:2019-05-12
《补码BCD码微机原理》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2.2.4补码的加减运算1.补码加法在计算机中,凡是带符号数一律用补码表示,运算结果自然也是补码。其运算特点是:符号位和数值位一起参加运算,并且自动获得结果(包括符号位与数值位)。补码加法的运算规则为:即:两数补码的和等于两数和的补码。(2.2.5)例2.11已知[+51]补=00110011B,[+66]补=01000010B,[-51]补=11001101B,[-66]补=10111110B求[+66]补+[+51]补=?[+66]补+[-51]补=?[-66]补+[-51]补=?解:二进制(补码)加法十进制加法01000010[+66]补+66+)001
2、10011[+51]补+)+5101110101[+117]补+117二进制(补码)加法十进制加法01000010[+66]补+66+)11001101[-51]补+)-5100001111[+15]补+151自动丢失由于[+66]补+[+51]补=[(+66)+(+55)]补=01110101B结果为正,因此[(+66)+(+55)]原=[(+66)+(+55)]补=01110101B其真值为+117,计算结果正确。二进制(补码)加法十进制加法10111110[-66]补-66+)11001101[-51]补+)-5110001011[-117]补-1171
3、自动丢失由于[+66]补+[−51]补=[(+66)+(−55)]补=00001111结果为正,因此[(+66)+(−55)]原=[(+66)+(−55)]补=00001111其真值为+15,计算结果正确。结论:两数的和为正,正数的补码等于原码。由于[-66]补+[-51]补=10001011B=[(-66)+(-55)]补结果为负,因此[(-66)+(-55)]原=[[(-66)+(-55)]补]补=11110101B其真值为-117,计算结果正确。结论:两数的和为负,将负数的补码还原为原码。可以看出,不论被加数、加数是正数还是负数,只要直接用它们的补码直接
4、相加,当结果不超出补码所表示的范围时,计算结果便是正确的补码形式。但当计算结果超出补码表示范围时,结果就不正确了,这种情况称为溢出。2.补码减法补码减法的运算规则为:(2.2.6)例2.12已知[+51]补=00110011B,[+66]补=01000010B[−51]补=11001101B,[−66]补=10111110B求[+66]补−[+51]补=?[-66]补--[-51]补=?解[+66]补-[+51]补=[+66]补+[-51]补[-66]补-[-51]补=[-66]补+[+51]补二进制(补码)加法十进制加法10111110[-66]补-66+)
5、00110011[+51]补-)-5111110001[-15]补-15二进制(补码)加法十进制加法01000010[+66]补+66+)11001101[-51]补-)+5100001111[+15]补+151自动丢失结论:两数的和为正,正数的补码等于原码。结论:两数的和为负,将负数的补码还原为原码。可以看出,无论被减数、减数是正数还是负数,上述补码减法的规则都是正确的。同样,由最高位向更高位的进位会自动丢失而不影响运算结果的正确性。计算机中带符号数用补码表示时有如下优点:①可以将减法运算变为加法运算,因此可使用同一个运算器实现加法和减法运算,简化了电路。②
6、无符号数和带符号数的加法运算可以用同一个加法器实现,结果都是正确的。例如:无符号数带符号数11100001225[-31]补+)00001101+)13+)[+13]补11101110238[-18]补若两操作数为无符号数时,计算结果为无符号数11101110B,其真值为238,结果正确;若两操作数为补码形式,计算结果也为补码形式,11101110B为–18的补码,结果也是正确的。2.2.5溢出及其判断方法1.进位与溢出所谓进位,是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号数的范围。溢出是指带符号数的补码运算
7、溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。例如,字长为n位的带符号数,它能表示的补码范围为-2n-1+2n-1-1,如果运算结果超出此范围,就叫补码溢出,简称溢出。2.2.5溢出及其判断方法例1X=+1000000Y=+1000001,求两数的补码之和?解:[X]补=01000000[Y]补=01000001结论:两个整数相加,结果应该为+129,结果确为负数-127,发生错误的原因是运算中产生了溢出。2.溢出的判断方法判断溢出的方法很多,常见的有:①通过参加运算的两个数的符号及运算结果的符号进行判断。②单符号位法。该方法通过符号位和数
8、值部分最高位的进位状态来判断结果是否溢
此文档下载收益归作者所有