Java整数相加溢出怎么解决
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章主要介绍"Java整数相加溢出怎么解决",在日常操作中,相信很多人在Java整数相加溢出怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java整数相加溢
千家信息网最后更新 2025年12月02日Java整数相加溢出怎么解决在之前刷题的时候遇见一个问题,需要解决int相加后怎么判断是否溢出,如果溢出就返回Integer.MAX_VALUE JDK8已经帮我们实现了Math下,不得不说这个方法是在StackOverflow找到了的,确实比国内一些论坛好多了~ 注意 long和int是不一样的
这篇文章主要介绍"Java整数相加溢出怎么解决",在日常操作中,相信很多人在Java整数相加溢出怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Java整数相加溢出怎么解决"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
问题
解决方案
加法
public static int addExact(int x, int y) { int r = x + y; // HD 2-12 Overflow iff both arguments have the opposite sign of the result if (((x ^ r) & (y ^ r)) < 0) { throw new ArithmeticException("integer overflow"); } return r; }减法
public static int subtractExact(int x, int y) { int r = x - y; // HD 2-12 Overflow iff the arguments have different signs and // the sign of the result is different than the sign of x if (((x ^ y) & (x ^ r)) < 0) { throw new ArithmeticException("integer overflow"); } return r; }乘法
public static int multiplyExact(int x, int y) { long r = (long)x * (long)y; if ((int)r != r) { throw new ArithmeticException("integer overflow"); } return (int)r; } public static long multiplyExact(long x, long y) { long r = x * y; long ax = Math.abs(x); long ay = Math.abs(y); if (((ax | ay) >>> 31 != 0)) { // Some bits greater than 2^31 that might cause overflow // Check the result using the divide operator // and check for the special case of Long.MIN_VALUE * -1 if (((y != 0) && (r / y != x)) || (x == Long.MIN_VALUE && y == -1)) { throw new ArithmeticException("long overflow"); } } return r; }到此,关于"Java整数相加溢出怎么解决"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
整数
学习
问题
方法
更多
帮助
实用
接下来
乘法
减法
加法
文章
方案
时候
是在
理论
知识
篇文章
网站
解决方案
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
东城区正规软件开发服务电话
工作软件开发
驻点软件开发可以做吗
平面设计用服务器cpu怎么样
零件供应关系数据库
数据库名的数据类型是什么
网络安全事件的等级为
科雷服务器权限
档案软件开发合同
数据从前台存储到数据库的过程
武汉档存网络技术有限公司
邮件服务器信息
海康平台服务器组网
数数据库管理系统
自定义锁 数据库
通江街道代办网络技术工作室
同时查找多种数据库
网络安全法规定生
视频转化软件开发
滑稽城服务器下载
iphone互联网科技
数据库安装到一半就退出
航运软件开发
河北特定软件开发操作
湖北省公安厅网络安全邹德文
衡水快报网络安全审查办法开启
北京财务软件开发中心
苏州应用软件开发价位
数据库非空判断
如何关掉服务器的数据保护