复数取余就是按照公式计算得出x - (math.floor((x/y).real) * y)
(4+2j)%(2+2j)
1.x = (4+2j) y = (2+2j)
如果直接只需要计算x/y那么结果是(1.5-0.5j),然后因为公式对实部地板取整math.floor(1.5)=1
2.按照公式
(math.floor((x/y).real) * y)
=> math.floor(1.5)*y => 1*(2+2j)
3.最后
x-(math.floor((x/y).real) * y)
实际就是4+2j-1*(2+2j)得到结果2+0j
注:
math.floor(x)
Return the floor of x as a float, the largest integer value less than or equal to x.