java - 如何用 /= 解决表达式
问题描述
我需要帮助了解如何解决以下问题:482/10/5/2.0*2+14/5
我知道需要做 PEMDAS 并且 2.0 使答案加倍,但是在某个地方我搞砸了,我一辈子都无法弄清楚在哪里。我知道答案是 11.0。有人可以帮我写出来如何得到答案吗?
到目前为止,我将 2.0 * 2 相乘,得到 4.0,然后除以。482/10 是 48,然后 48/5 是 9,9/4.0 是 2.0,14/5 是 2。所以你有 48/9/2+2 =4 或者你有 4.0。显然也不是 11.0。所以我很困惑我哪里出错了。
解决方案
482/10/5/2.0*2+14/5
48/5/2.0*2+14/5
9/2.0*2+14/5
4.5*2+14/5
9.0+14/5
9.0+2
11.0
除法从左到右,加法排在最后。整数仅在使用双精度的算术运算中转换为双精度。这只发生了 3 次:在第 3 步 ( 9/2.0
)、第 4 步 ( 4.5*2
) 和第 6 步 ( 9.0+2
) 中。所有其他操作都是纯整数操作。
推荐阅读
- mysql - 如何将文件结束作为条件中的条件以从 while 语句中逃脱?
- json - 在 Bash 中,如何对 JQ 的 Echo 输出进行排序?
- javascript - Vue 3 原始 HTML 与组件使用 Quill 产生不同的模板结果
- python - 使用 NLP python 从句子中提取特定关键字(我有大约 400 万个关键字的字典)
- c# - Unity2D如何检测两个对象从另一个脚本碰撞
- python - OSError: [WinError 123] 文件名、目录名或卷标语法不正确(尝试从驱动器访问图像数据集时出错)
- java - Apache flink 对 watermark 空闲的理解以及与 Bounded duration 和 window duration 的关系
- kubernetes - 自动将 Pod 移动到另一个节点
- hive - 如何在 ubuntu 上使用 java 将 jdbc 配置为 hive?
- performance - 返回范围 [a,b] 中所有素数的计数,使得所有数字都来自集合 {1,5,9} 。1<=a<=b<=10⁹