摘要:題目要求此處為題目鏈接即用自己的代碼實現指數運算。指數為負數即求其倒數。思路一二分法計算這題的思路我之前的一篇博客思路基本相同。所以在能轉換為循環的情況下還是最好使用循環來解決。
題目要求
此處為題目鏈接
即用自己的代碼實現指數運算。
指數運算一般有兩種情況,即指數為整數和指數為負數的情況。指數為負數即求其倒數。
這題的思路我之前的一篇博客思路基本相同。有興趣的可以直接翻看那篇博客再思考一下這題。代碼如下
public double myPow(double x, int n) { if(x==0) return 0; if(n==0) return 1; x = n>0 ? x : 1/x; n = Math.abs(n); if(n%2!=0){ return x*myPow(x, n-1); } long temp = 1; double result = x; while(n >= (temp+temp)){ temp += temp; result *= result; } return result*myPow(x, n-(int)temp); }思路二:遞歸
遞歸的方法在大多數情況下比較消耗存儲空間,因為會保留上一個結果的所有情況和指向子函數的指針。所以在能轉換為循環的情況下還是最好使用循環來解決。
double myPow(double x, int n) { if(n<0) return 1/x * myPow(1/x, -(n+1)); if(n==0) return 1; if(n==2) return x*x; if(n%2==0) return myPow( myPow(x, n/2), 2); else return x*myPow( myPow(x, n/2), 2); }
想要了解更多開發技術,面試教程以及互聯網公司內推,歡迎關注我的微信公眾號!將會不定期的發放福利哦~
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/69980.html
摘要:譯者注規范化就是把小數點放在第一個非零數字的后面總結當指數的范圍是十進制分數不是所有的十進制分數都能夠非常精確的表示例如和都不能夠被精確的表示成二進制浮點數。相同的,也不能被精確表示成一個十進制分數,它大概能被表示成。 在JavaScript中所有的數字都是浮點數,本篇文章將介紹這些浮點數在JavaScript內部是怎樣被轉為64位二進制的。我們會特別考慮整數的處理,所以讀完本篇之后,...
摘要:數字數字都是浮點數,按照標準進行存儲。因此,只有偶數可以在范圍內表示。但只有超過指數的上限才稱為中的溢出。結論在這篇博文中,我們研究了如何將其浮點數轉換為位。 JavaScript中的所有數字都是浮點數。這篇博客文章解釋了這些浮點數如何在64位二進制內部表示。由于特別考慮,本文中的數字將用整數表示,以便在閱讀本文后,您將了解在以下交互中會發生什么: (譯者注:浮點數并不一定等于小數,定...
摘要:由于浮點數不是精確的值,所以涉及小數的比較和運算要特別小心。根據標準,位浮點數的指數部分的長度是個二進制位,意味著指數部分的最大值是的次方減。也就是說,位浮點數的指數部分的值最大為。 一 前言 這篇文章主要解決以下三個問題: 問題1:浮點數計算精確度的問題 0.1 + 0.2; //0.30000000000000004 0.1 + 0.2 === 0.3; // ...
摘要:表示正數,表示負數。是一個無符號整數,因為長度是位,取值范圍是。浮點數具體數值的實際表示。例如對于單精度浮點數,指數部分實際最小值是,對應的尾數部分從一直到,相鄰兩小浮點數之間的距離都是而與最近的浮點數即最小的非規約數也是。 二進制表示小數 例如用二進制表示 0.8125 0.8125 0.8125*2 = 1.625 取整為 1 0.625*2=1.25 取整為 1 0.25*2=0...
摘要:上一篇文章標準庫內置類型邏輯值檢測布爾運算比較下一篇文章標準庫內置類型迭代器類型序列類型數字類型存在三種不同的數字類型整數浮點數和復數。標準庫包含附加的數字類型,如表示有理數的以及以用戶定制精度表示浮點數的。 上一篇文章:Python標準庫---9、內置類型:邏輯值檢測、布爾運算、比較下一篇文章:Python標準庫---11、內置類型:迭代器類型、序列類型 數字類型 --- int,...
閱讀 3850·2021-09-29 09:34
閱讀 3782·2021-09-27 13:34
閱讀 575·2021-09-24 09:47
閱讀 3043·2019-08-30 15:53
閱讀 1817·2019-08-26 13:54
閱讀 2093·2019-08-26 13:43
閱讀 542·2019-08-23 14:47
閱讀 1750·2019-08-23 14:28