关于整数溢出和NaN的问题

本文探讨了Java中Integer的最大值溢出现象及其表现形式,并通过代码示例展示了Double.NaN的特殊性质,即它与任何数比较(包括自身)都不相等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当Integer i = Integer.MAX_VALUE;
i + 1 < i成立,
Double.NaN与任何数(包括自己)比较都为false,与js的NaN一样

如下:
 //整数溢出
        Integer i = Integer.MAX_VALUE;
        System.out.println(i + 1 < i); //true
        System.out.println(i + 1); //-2147483648
        System.out.println((int) (Math.pow(2, 32) - 1) == Integer.MAX_VALUE); //true

        //Double.NaN与任何数(包括自己)比较都为false,与js的NaN一样
        double a = Double.NaN;
        double b= a;
        double c = 1;
        System.out.println(a == b); //false
        System.out.println(a == Double.NaN); //false
        System.out.println(a > b ||a <= b); //false
        System.out.println(a > c ||a <= c); //false

 

 
 

转载于:https://www.cnblogs.com/dreamkunk/p/6530157.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值