1条回答 默认 最新
- _L.Y.H._ 2023-03-25 22:32关注
53位bit
原因尾数有个默认位为1. 52位+ 1位就是53了
实验
背景知识
2^52 = 4503599627370496
将第一位设置成6 (小于2^53次方)
double d = 6503599627370496L; for (int i = 0; i < 100; i++) { d++; System.out.println((long)d); }
结果正常+1
将第一位设置成9 (大于2^53次方)
double d = 6503599627370496L; for (int i = 0; i < 100; i++) { d++; System.out.println((long)d); }
结果始终为 9503599627370496
————————————————
参考自:https://blog.csdn.net/oneFaceThick/article/details/123202316本回答被专家选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 咨询一下有关于王者荣耀赢藏战绩
- ¥100 求购一套带接口实现实习自动签到打卡
- ¥50 MacOS 使用虚拟机安装k8s
- ¥500 亚马逊 COOKIE我如何才能实现 登录一个亚马逊账户 下发新 COOKIE ..我使用下发新COOKIE 导入ADS 指纹浏览器登录,我把账户密码 修改过后,原来下发新COOKIE 不会失效的方式
- ¥20 玩游戏gpu和cpu利用率特别低,玩游戏卡顿
- ¥25 oracle中的正则匹配
- ¥15 关于#vscode#的问题:把软件卸载不会再出现蓝屏
- ¥15 vimplus出现的错误
- ¥15 usb无线网卡转typec口
- ¥30 怎么使用AVL fire ESE软件自带的优化模式来优化设计Soot和NOx?