mindustry吧 关注:12,435贴子:75,802
  • 7回复贴,共1
求助

为啥这里算出来也会丢精度啊?

只看楼主收藏回复

有什么办法能解决吗?



IP属地:山东来自Android客户端1楼2024-04-30 22:28回复
    计算原理:
    对原数据连续除10至小于10
    对处理后的原数据取整(对1整除 //1)进行显示
    在显示十位数的1后取小数(对1取余 %1)作为新数据
    重复以上步骤


    IP属地:山东来自Android客户端2楼2024-04-30 22:34
    收起回复
      1.2%1也会出现类似的情况,没特别优化的计算器就会算出0.19(按理来说1除1.2得1余0.2),解决方法就是全用二进制(显然不现实)或者避开小数(浮点数),浮点数意味着不精确(十进制小数和二进制小数不是一一对应的)
      二进制下10除12的结果显示为十进制就是1.19,模1结果为0.19也很正常,直接用12%10取个位数值能得出2(即避开小数)
      这些玩编程的都常识吧,所以没人回你
      好久不玩这游戏了现在这么智能了吗


      IP属地:浙江4楼2024-05-01 21:47
      收起回复
        高端


        IP属地:山西来自Android客户端5楼2024-05-02 09:44
        收起回复