![](/img/trans.png)
[英]How do you convert Fractional Decimals in base 10 to base k in C# Any advice would be great
[英]How do you compute negative numbers to fractional powers in C#?
我正在嘗試在C#中計算負數來計算分數冪。
這就是我試圖計算的能力,
Math.Pow(-0.5264, 1.11)--> Result NaN
Math.Pow(-0.5264, 2) --> 0.27709696
Math.Pow(0.5264, 1.11) --> Gives me a result.
當基數為正且冪為分數時,我確實獲得了一個值。 但是,當基數為負值時,無法給出結果嗎?
當我試圖找到負數基的冪時,它在Matlab中返回了復數格式a + bi。
我真的不知道如何在C#中實現它。
有人可以幫我解決問題。
Math.Pow
根據其規范正確運行。
如果您想要復雜的值,並且沒有復雜的數學庫,則計算它很容易。
我們知道歐拉的身份:
e ix = cos x + i sin x
更具體地說
eiπ = -1
因此
0.5264ËIπ= -0.5264
因此
(0.5264) 1.11 e 1.11 iπ=(-0.5264) 1.11
現在再次使用歐拉的身份
(0.5264) 1.11 (cos(1.11π)+ i sin(1.11π))=(-0.5264) 1.11
因此,您要查找的數字的真正部分是
(0.5264) 1.11 cos(1.11π)
而虛部是
(0.5264) 1.11 sin(1.11π)
現在,您已將問題簡化為可以使用普通數學庫計算的實值函數。
故事的寓意是: 通過數學解決數學問題 。
您可以使用System.Numerics.Complex.Pow
計算此類表達式:
Complex.Pow(-0.5264, 1.11); //(-0,461524987676948, -0,166159219770948)
Complex.Pow(-0.5264, 2).Real; // 0.27709696
Complex.Pow(0.5264, 1.11).Real; // 0.49052441383186784
通常Math.Pow
返回double,這是實數,並不復雜。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.