《python核心编程》复数取余的问题,,在看《python核心编
《python核心编程》复数取余的问题,,在看《python核心编
在看《python核心编程》的时候,取余运算符% 。
x%y
书中先介绍的是浮点数的取余运算:即
“商取小于等于精确值的最大整数的乘积之差. 即: x - (math.floor(x/y) * y) ”
这个没问题,可以理解,可是接下来说复数的内容是:
“对于复数,取余的定义类似于浮点数,不同之处在于商仅取其实数部分,即:
x - (math.floor((x/y).real) * y)。 ”
这个就不太理解了。我亲自写了几个取余的运算看了一下:
>> (4+2j)%(2+2j)
(2+0j)
>> (6+2j)%(2+2j)
(2-2j)
>> (1.2+2j)%(0.2+2j)
(1+0j)
>> (1.2+2j)%(0.2+1j)
(0.7999999999999999+0j)
>> (1.2+7j)%(0.2+2j)
(0.5999999999999999+1j)
看不出来其中的运算方法,恳请各位帮助解答:python对于两个复数之间的取余运算是怎么进行的?
谢谢了~
复数取余就是按照公式计算得出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.
编橙之家文章,
相关内容
- 请问python外部模块可以在Jinja2模板里使用吗?,pythonji
- Python学习过程从新手到大神是什么路线,python大神,本专
- struts2框架通配符报错HTTP Status 404要怎么调整,struts24
- Python能做到前后端数据互通吗?后台读取前端数据,py
- 求问str()同__str__原理上有什么不同,分别在什么情况下应
- Python opengl要显示中文怎么调整,pythonopengl,RT,显示英文
- tornado调用一系列阻塞的方法时候如何保持异步的效果呢
- Flask上下文和请求上下文要如何理解,flask上下文,在学
- Pythonq将多个音频解码并合成完整音频的思路,pythonq思
- Python 怎样调用当前文件最后声明的类与方法?,pytho
评论关闭