娱乐

补码加减运算及溢出判断 - skydcl的博客

来源:网络整理 编辑:admin 时间:2018-01-12

     

加成反应的运算:
补[补]
可当前的相加。
减法运算:
[任务]额外的= [x]补 (- [年]额外的)
x做加法y补的反数的补数。(与作记号的对过)(称为机具的对过)。

溢出断定:

            率先要包含,把在零以上加成反应正数,结实无力的溢出(由于结实的不受任何限制的是,两个加数的表达。,结实必然要表达出现。。)
            因而,溢出的发作必然要是两个数字做加法s。。
            分状态议论:
                                正 正
                                作记号位0,数字加成反应的,设想结实的作记号位留长1,这是至高的的两个加数的和。。
                                发作溢出。
                                阴离子的负
                                作记号位都是1。,因而作记号位会流行的。数字加成反应的,设想顶点作记号位为0,结实验证是敏捷的的。,它必然要是溢出(负 溢出)。!正)。
                                这是对它的包含。,为什么正数补充物是在至高的级别做加法的?,这不是一点钟溢出发作。,但这不是溢出吗?它和在零以上不同吗?
                                在求余溢出的状态下,在零以上是由于它太大而不克不及溢出,只因为反面的。。(-5-5 -> 1011+1011 = 10110 ->0110 溢出),有迹象泄漏两个正数是较大的。。

综上:
当作记号位和至高的位都缺少进位(在零以上相加)或作记号位和至高的位都有进位(正数相加),没发作溢出。
可是一点钟发作。,发作溢出。

双作记号位判处溢出:
可是一点钟原始作记号位。,现时再加一点钟便于使用的。。
在零以上:00 正数 11
结实01个小时,结实是敏捷的的。,它是溢出(在零以上太大)
结实10个小时,结实是反面的。,发作负溢出(正数太小了)
或00或11不溢出。
大人物会问,难道负溢出就无力的是11了吗?
插图画家:我们家想把结实留长作记号位。,让最小(最大不受任何限制的加数,这可以溢出。
11100是最好的用例(这是发作进位的最小补码)。
我们家拿这两个 11100 相加
11100+11100=111000 -> 11000 在这个时候溢出吗?
11000比8,加数 11100比4。
缺少发作溢出。

移位运算:

算数移位:在二元系,算术移位的左移位 每一位是* 2,右移/ 2
原始编码移位,作记号位不插脚移位
额外的移,作记号位插脚转变。左移位作记号左移,向右侧变化时作记号位持续的,最大补码位。

逻辑移位:把数字以为一串二元系数。,什么变化和什么变化,作记号位与数字经过缺少相异点。。


上一篇:补码加减运算及溢出判断 - skydcl的博客

下一篇:没有了