博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
加法乘法判断溢出(转)
阅读量:4699 次
发布时间:2019-06-09

本文共 548 字,大约阅读时间需要 1 分钟。

#include <limits.h>

int is_overflow_add_for_unsigned_int( unsigned int a, unsigned int b )

{
return UINT_MAX - a < b;
}

int is_overflow_add_for_signed_int( int a, int b )

{
return a >= 0 ? INT_MAX - a < b : INT_MIN - a > b;
}

int is_overflow_multiply_for_unsigned_int( unsigned int a, unsigned int b )

{
return a == 0 ? 0 : UINT_MAX / a < b;
}

int is_overflow_multiply_for_signed_int( int a, int b )

{
return a == 0 ? 0 :
a > 0 && b > 0 || a < 0 && b < 0 ? INT_MAX / a < b : INT_MIN / a > b;
}

转载于:https://www.cnblogs.com/chenglongxu/p/5445915.html

你可能感兴趣的文章
STM32F10x_RTC日历
查看>>
JQuery插件的一般写法
查看>>
MVC公司架构介绍-序列化属性
查看>>
select count(1) from table where ..这句sql语句的作用
查看>>
六、传统的映射文件
查看>>
js实现事件模型bind与trigger
查看>>
import和export使用
查看>>
Android SDK Manager 一闪而过
查看>>
HiveSql调优经验
查看>>
mysql热备脚本
查看>>
c++虚函数,纯虚函数
查看>>
cdoj 秋实大哥与战争
查看>>
Js打开网页后居中显示
查看>>
系统测试中需要注意的点
查看>>
Rs232、Rs485、CAN总线比较区别总结
查看>>
Arcgis Add-In开发入门实例(转载)
查看>>
安装 Dubbo 管理控制台
查看>>
Elasticsearch TermQuery 详解
查看>>
一个困扰了我N久的bug , android.enableAapt2=false 无效
查看>>
查看客户端的IP地址,机器名,MAC地址,登陆名等信息
查看>>