我目前在我的Python程序中使用非常小的数字,例如
x = 200 + 2e-26
一种解决方案是使用对数值,这会增加我的浮点值的范围。但问题是我也需要对这些值进行fft,因此使用对数方法不可行(使用
Decimal
模块也不行)。有没有其他方法来解决这个问题?编辑:我在使用
decimal
模块时遇到的问题是:如何处理虚数值?我尝试了a = Decimal(1e-26)+Decimal(1e-26*1j)
和a = Decimal(1e-26)+Decimal(1e-26)*1j
,但两种方式都失败了(请求错误)。
decimal
模块有什么问题? - Aaron Digullaa=Decimal(1e-26)+Decimal(1e-26*1j)
和a=Decimal(1e-26)+Decimal(1e-26)*1j
。还有其他的方法吗? - arc_lupusdecimal
模块不支持复数。你可能可以将complex
和Decimal
类型混合在一些类中,但我不确定这是否是最佳方法... - Martijn Arts