gpt4 book ai didi

iphone - 将 NSDecimalNumber 计算为负次方

转载 作者:行者123 更新时间:2023-12-03 19:40:31 25 4
gpt4 key购买 nike

我需要一个与 C 的 pow() 函数等效的函数,该函数可以与 NSDecimalNumbers 一起使用。对于 pow,您可以使用负数,例如pow(1514,-1234),使用NSDecimal的decimalNumberByRaisingToPower:方法,你被迫使用一个NSUInteger,它似乎需要一个正值。

我希望能够做这样的事情:

[decimalNumber decimalNumberByRaisingToPower:-217.089218];

[decimalNumber decimalNumberByMultiplyingByPowerOf10:-217];

不会因溢出或下溢异常而崩溃。

最佳答案

数学上,a^(-b) == 1/(a^b)。因此,如果您只需要提高到负积分幂,

decimalNumber = [decimalNumber decimalNumberByRaisingToPower:1234];
decimalNumber = [[NSDecimalNumber one] decimalNumberByDividingBy:decimalNumber];

对于非整数幂,除了 (1) 自己或通过第三方库实现 pow() 算法,或者 (2) 以浮点形式执行计算(从而丢失精度)之外,没有其他办法)。

关于iphone - 将 NSDecimalNumber 计算为负次方,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3596060/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com