C语言中无符号数运算判断溢出

来源:互联网 发布:淘宝店图片有别家网址 编辑:程序博客网 时间:2024/04/29 08:40
对于无符号加法运算,当执行C程序时,不会将溢出作为错误而发信号。例如要计算s = x + y;如果溢出则会得到结果s = (x + y) %2w或者s = x + y - 2w(w 是机器中无符号的最大二进制位数)。又因为x < 2w且y < 2w,所以可以用if(s < x) 或if(s < y)来判断计算结果是否溢出。
原创粉丝点击