java面试0106-java什么时候会出现i>i+1和i<i-1?

  1. 整数溢出

    int i = Integer.MAX_VALUE; // 2,147,483,647

    System.out.println(i > i + 1); // true

    int i2 = Integer.MIN_VALUE; // -2,147,483,648

    System.out.println(i2 < i2- 1); // true

  2. 浮点数精度问题

    double i = Double.MAX_VALUE; // 1.7976931348623157E308

    System.out.println(i3 > i 3+ 1); // false

    i + 1 的加法由于精度限制不会改变 i 的值(因为 1 相对于 Double.MAX_VALUE 太小)。

    因此,i 和 i + 1 实际上相等,i > i + 1 不成立,但如果涉及其他浮点运算,可能因舍入误差导致意外结果

相关推荐
蒸蒸yyyyzwd4 小时前
cpp对象模型学习笔记1.1-2.8
java·笔记·学习
睡美人的小仙女1275 小时前
Threejs加载环境贴图报错Bad File Format: bad initial token
开发语言·javascript·redis
程序员徐师兄5 小时前
Windows JDK11 下载安装教程,适合新手
java·windows·jdk11 下载安装·jdk11 下载教程
rayufo5 小时前
【工具】列出指定文件夹下所有的目录和文件
开发语言·前端·python
RANCE_atttackkk5 小时前
[Java]实现使用邮箱找回密码的功能
java·开发语言·前端·spring boot·intellij-idea·idea
缺点内向6 小时前
C#编程实战:如何为Word文档添加背景色或背景图片
开发语言·c#·自动化·word·.net
五岳6 小时前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
一起养小猫6 小时前
Flutter for OpenHarmony 实战:记账应用数据统计与可视化
开发语言·jvm·数据库·flutter·信息可视化·harmonyos
zhougl9966 小时前
Java 所有关键字及规范分类
java·开发语言
Python 老手6 小时前
Python while 循环 极简核心讲解
java·python·算法