Python 不动点算法

Python 不动点算法,python,math,Python,Math,有人知道用Python做定点运算的库吗? 或者,有人有示例代码吗?如果您对定点算法感兴趣,Python标准库中有一个模块可以实现这一点 实际上,它也比内置的具有更灵活的浮点功能。我所说的灵活是指: 具有针对各种异常情况的“信号”(这些可以设置为在信号上执行各种操作) 有积极的和消极的 无穷大,以及NaN(不是a (数字) 可以区分阳性和阴性 和负0 允许您设置不同的舍入 计划 允许您设置自己的最小值和最小值 最大值 总而言之,它对于一个简单的算术运算非常方便。这个软件包听起来像是你正在寻找的

有人知道用Python做定点运算的库吗?
或者,有人有示例代码吗?

如果您对定点算法感兴趣,Python标准库中有一个模块可以实现这一点

实际上,它也比内置的具有更灵活的浮点功能。我所说的灵活是指:

  • 具有针对各种异常情况的“信号”(这些可以设置为在信号上执行各种操作)

  • 有积极的和消极的 无穷大,以及NaN(不是a (数字)

  • 可以区分阳性和阴性 和负0

  • 允许您设置不同的舍入 计划

  • 允许您设置自己的最小值和最小值 最大值


总而言之,它对于一个简单的算术运算非常方便。

这个软件包听起来像是你正在寻找的。

如果你想模拟二进制定点数的行为而不仅仅是简单的算术运算,另一个值得考虑的选项是模块。这将允许您使用固定位数计算平方根、幂、对数和三角函数。它是一个纯python模块,因此没有提供最高的性能,但每秒可以对256位数字执行数十万次算术运算。

最近我正在从事类似的项目


我想他指的是固定点。我不得不问为什么?因为如果是为了性能,你不会得到任何。我必须为算法计算编写一个仿真库,在FPGA中实现(因此,不支持FP)谢谢,这就是我想要的??Decimal pkg允许您定义精度,但它是base10精度。您可以在小数点右侧声明6位数字。对于要定义位数的硬件建模,精度由二进制点右侧的base2位数定义。奇怪的是,Decimal软件包是如何一个好的解决方案。另一个可用的定点软件包是numpy包装器,因为内置的numpy类型使用对象类型。您还会粘贴多少问题?如果这在社区中是不恰当的,我很抱歉,但我不仅仅是“粘贴相同的东西”。我开发了一种工具来解决一类问题,并向这些提问者提供我的解决方案。在每一篇文章中,我都会用不同的例子来说明这是如何解决不同的问题的,我认为这是一个有效的解决方案,至少是一个替代的解决方案。谢谢你的帮助。但是,对于不同的问题,您不需要发布相同的答案。这对你的影响是消极的,而不是积极的。只要把你的答案贴在一个问题上就足够了。根据你回答的质量,它已经有了反应。@gurkan明白了,我将删除其他答案并保留这一个。这只是我个人的意见。因为你的类似答案在“迟交答案”部分出现了好几次。不,如果它没有得到反对票,当然你不需要删除它们
>>> from numfi import numfi  
>>> x = numfi(0.68751,1,6,3)
>>> x + 1/3
numfi([1.125]) s7/3-r/s
>>> np.sin(x)
numfi([0.625     ]) s6/3-r/s