ldexp 和 frexp 在 python 中如何工作?
python frexp 和 ldexp 函数将浮点数拆分为尾数和指数。 有谁知道这个过程是否公开了实际的浮点结构,或者是否需要 python 进行昂贵的对数调用?
The python frexp and ldexp functions splits floats into mantissa and exponent.
Do anybody know if this process exposes the actual float structure, or if it requires python to do expensive logarithmic calls?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
Python 2.6的math.frexp只是直接调用底层C库frexp。我们必须假设 C 库只是直接使用浮点表示的部分,而不是计算是否可用(IEEE 754)。
Python 2.6's math.frexp just calls the underlying C library frexp directly. We must assume that the C library simply uses the float representation's parts directly instead of calculating if avaliable (IEEE 754).
至于速度,这里有一个快速比较
因此,在 python 中,
frexp
、log
和ldexp
之间没有太多可检测的差异的速度。但不确定这会告诉您有关实施的任何信息!As for speed, here is a quick comparison
So there isn't a lot of difference detectable in python between
frexp
,log
andldexp
in terms of speed. Not sure that tells you anything about the implementation though!这是一个您可以轻松回答的问题:
注意内置。它是用 C 语言
编写的。这里没有内置。它是用 Python 编写的。
This is a question you can easily answer yourself:
Notice the built-in. It's in C.
No built-in here. It's in Python.