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