码迷,mamicode.com
首页 > 其他好文 > 详细

2021_2_18_运算中数字溢出问题

时间:2021-02-19 13:53:01      阅读:0      评论:0      收藏:0      [点我收藏+]

标签:运算   problem   数字   class   print   lang   main   如何   oid   

运算中数字溢出问题

在运算中,可能会出现结果越界的情况,比如:

public class OverflowProblem {
    public static void main(String[] args) {
        int a = 10_0000_0000;
        int b = 20;
        int result = a*b;
        System.out.println(result);
    }
}


//   -1474836480

a乘以b的结果超过了int的边界,因此出现了溢出的情况。那么把result的类型改为long可以吗?

public class OverflowProblem {
    public static void main(String[] args) {
        int a = 10_0000_0000;
        int b = 20;
        long result = a *b;
        System.out.println(result);
    }
}


//   -1474836480

结果依然不行,那么如何才能解决这个问题呢?

public class OverflowProblem {
    public static void main(String[] args) {
        int a = 10_0000_0000;
        int b = 20;
        long result = (long) a * b;
        System.out.println(result);
    }
}


//   20000000000

只要在运算中对其中一个对象强制转换为long类型即可。

2021_2_18_运算中数字溢出问题

标签:运算   problem   数字   class   print   lang   main   如何   oid   

原文地址:https://www.cnblogs.com/cutomorrowsmile/p/14413253.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!