dabocaiqq 2018-06-10 05:36 采纳率: 63.2%
浏览 798
已采纳

java遇到个算术运算符的问题求指点

System.out.println(10 / 3.0);
这行代码输出的是3.3333333333333335
我知道有两个知识点:
1.整数和小数进行运算的时候,整数的类型自动提升为double类型,两个double类型进行相除运算,结果得到小数(也就是3.3333333333333335),即10先自动提升为double类型,再和3.0进行除法运算
2./获取的是除法操作的商,%获取的是除法操作的余数
而我的问题是:这行代码怎么算到是3.3333333333333335?
不知道这么想对不对:按照我们平时的计算法则,10除以3的商是3,余数是1,但是10变成double和同样是double类型的3.0进行除法运算就涉及到二进制除法了,先把double这个8字节的数据类型展开成32个二进制位,然后进行二进制的除法计算得到补码,然后补码倒推出源码,把商提取出来

  • 写回答

5条回答 默认 最新

  • Go 旅城通票 2018-06-10 05:49
    关注

    浮点数运算有些时候回丢失经度,最好Math.Round下保留二位小数

    js是number.toFixed(保留的小数位)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

悬赏问题

  • ¥15 如何在配置使用Prettier的VSCode中通过Better Align插件来对齐等式?(相关搜索:格式化)
  • ¥15 C#字典调用时报错,有关文件加载
  • ¥100 在连接内网VPN时,如何同时保持互联网连接
  • ¥15 MATLAB中使用parfor,矩阵Removal的有效索引在parfor循环中受限制
  • ¥20 Win 10 LTSC 1809版本如何无损提升到20H1版本
  • ¥50 win10 LTSC 虚拟键盘不弹出
  • ¥30 关于PHP中POST获取数据的问题
  • ¥30 微信小程序请求失败,网页能正常带锁访问
  • ¥15 Python实现hog特征图可视化
  • ¥30 德飞莱51单片机实现C4炸弹