duanbi7247 2016-04-22 15:28
浏览 22
已采纳

去-大除法

I'm dealing with numbers that require a big.Float type, and I need to divide them. I'm aware that big.Int has a .Div() function, but if I'm correct, that truncates the value and loses the precision I get from using big.Float.

Relevant code

func e(prec int64) (res *big.Float) {
    res = big.NewFloat(float64(1.0))
    base := big.NewInt(prec)

    for i := base; i.Cmp(big.NewInt(int64(0))) == 1; _ = i.Sub(i, big.NewInt(1)) {
        d := big.NewFloat(float64(1.0))
        _ = d.Div(fact(i)) // error here
        res.Add(d)
    }

    return
}
  • 写回答

1条回答 默认 最新

  • dongou6632 2016-04-22 15:34
    关注

    Use Float.Quo for big.Float division:

    x, y := big.NewFloat(10), big.NewFloat(3)
    z := new(big.Float).Quo(x, y)
    

    http://play.golang.org/p/GRPAKQNkq0

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 opencv图像处理,需要四个处理结果图
  • ¥15 无线移动边缘计算系统中的系统模型
  • ¥15 深度学习中的画图问题
  • ¥15 java报错:使用mybatis plus查询一个只返回一条数据的sql,却报错返回了1000多条
  • ¥15 Python报错怎么解决
  • ¥15 simulink如何调用DLL文件
  • ¥15 关于用pyqt6的项目开发该怎么把前段后端和业务层分离
  • ¥30 线性代数的问题,我真的忘了线代的知识了
  • ¥15 有谁能够把华为matebook e 高通骁龙850刷成安卓系统,或者安装安卓系统
  • ¥188 需要修改一个工具,懂得汇编的人来。