python中的复数除法错误

时间:2016-05-23 10:33:41

标签: python division complex-numbers

处理复杂数字时发生了一些荒谬的事情。

> complex(1,2)/complex(1,2)  
(1+0j)

这个很好,但是......

>complex(15,22)/complex(15,22)   
(1-5.51196762578357e-17j)

(什么?)

> a=complex(15,22)/complex(15,22)  
> a.imag  
-5.51196762578357e-17  
> int(a.imag)==a.imag  
False

当然假想部分不是零...... 请亲自尝试并见证这种讽刺的情况。

再举一个例子。

> print c  
(74+33j)   
> c/(1+10j)   
(4-7.000000000000001j)

当然,-7.0000000000000000001应该是-7

0 个答案:

没有答案