我讨厌不得不问这个,因为我认为答案必须简单,但我不能因为我的生活似乎追查来源.在尝试重写函数时,遇到了这个问题:
a = -j
x = real(a)
y = imag(a)
y/x
Run Code Online (Sandbox Code Playgroud)
Inf我出乎意料地吐了出来.然而...
a = 0
b = -1
b/a
Run Code Online (Sandbox Code Playgroud)
-Inf像我期望的那样回归.进一步询问a == x,b == y.显然,这不是真的.经过很多挫折后,我终于找到了问题.如果原始输入a是0-j(相对-j)则没有问题.
双方real(-j)并real(0-j)返回零和测试为零,但显然似乎保存涉及原籍,我绝对不能发现一些元数据.我到底错过了什么?如果我必须用类似的东西来解决这个问题,那将会感到完全错误if (x == 0) then x = 0;