C++如何判断运算结果溢出

来源:互联网 发布:周潜川内经知要讲义 编辑:程序博客网 时间:2024/05/21 04:20
对于有符号整数的溢出,只需要简单判断运算结果符号是否与操作数相等即可;下面我们讨论无符号integer的溢出检测问题:
假设我们有两个变量a和b,size 为n,最大值为R。'+'代表实际的数学运算符--加号,‘$’代表计算机中的运算。
加法溢出
显然如果a+b<=R-1;a$b=a+b;
如果a+b>=R;a$b=a+b-R; 分析:由于R比a和b都大,所以a-R与b-R都是负值,所以我们有a+b-R<a;a+b-R<b;
乘法溢出
1.如果a*b>max,则有a>max/b;(如果无符号,max=R-1;否则max=R/2-1)

参考:http://www.cplusplus.com/articles/DE18T05o/
0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 笔记本电脑速度太慢怎么办 电脑图形处理弱怎么办 戴尔笔记本电脑连不上网络怎么办 系统备份没有了怎么办 cad2014运行很慢怎么办 cad2007运行很慢怎么办 cad运2018行很慢怎么办 800*800图片太大怎么办 ps出现双箭头怎么办 衣服上面染上色怎么办 联想一体机忘记密码怎么办 三星a7手机黑屏怎么办 联想g40很卡怎么办 联想笔记本电脑卡机怎么办 笔记本电脑卡机了怎么办 笔记本电脑卡机动不了怎么办 ps变得很卡怎么办 戴尔笔记本卡了怎么办 戴尔电脑卡死了怎么办 win10显示器颜色不正常怎么办 没有密码重置盘怎么办 美术生英语不好怎么办 mbr分区安装不了怎么办 倒闭的共享单车怎么办 喷水壶喷嘴堵塞怎么办 电水壶按钮坏了怎么办 主机按钮坏了怎么办 手机系统删掉了怎么办 学习差的孩子怎么办 小猫生病不吃饭怎么办 深圳公寓被坑怎么办 跳芭蕾硬了怎么办 跳拉丁起反应怎么办 会认字不会写字怎么办 孩子不认识的字怎么办 小孩暑假没人带怎么办 放暑假了孩子怎么办 暑假孩子没人带怎么办 幼儿园孩子不愿意写字怎么办 孩子写作业潦草怎么办 写字写到手痛怎么办