浮点运算

我正在写一个程序,它使用简单的神经网络感知算法,我在做负浮点运算时有问题,当我这样做的时候
总和=x1*w1+x2*w2-t
总和的值为-2.77555756156e-17
只有当x1=1.0w1=0.2,x2=0.0w2=0.1 t=0.2时,才会发生这种情况。如果我在python控制台中这样做,一切都很好,但是在程序中,它给了我那个奇怪的值。
下面是完整的代码http://tinypaste.com/1b8f9dd6,在第一个函数中,计算在顶部完成。
顺便说一句,我用的是python2.7,我困惑得要死

# 回答1


我发现了错误之处,基本上这对于浮点数来说是正常的,我应该做的是将和舍入到精度1,所以舍入(sum,1)将给我那个'小'零值的0.0in
# 回答2


有关浮点算术的Python文档中对此现象进行了解释。

标签: python

添加新评论