第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

我如何自己編寫冪函數(shù)?

我如何自己編寫冪函數(shù)?

我一直想知道如何創(chuàng)建一個(gè)自己計(jì)算功效的函數(shù)(例如2 3)。在大多數(shù)語(yǔ)言中,這些都包含在標(biāo)準(zhǔn)庫(kù)中,大部分是pow(double x, double y),但是我該如何自己編寫呢?我當(dāng)時(shí)在想for loops,但它認(rèn)為我的大腦陷入了循環(huán)(當(dāng)我想使用非整數(shù)指數(shù)(例如5 4.5或負(fù)數(shù)2 -21)進(jìn)行冪運(yùn)算時(shí),我變得瘋狂了;)那么,我該如何編寫一個(gè)計(jì)算實(shí)數(shù)冪的函數(shù)?謝謝哦,也許需要注意的重要一點(diǎn):我不能使用使用冪的函數(shù)(例如exp),這最終將使它無(wú)用。
查看完整描述

3 回答

?
呼喚遠(yuǎn)方

TA貢獻(xiàn)1856條經(jīng)驗(yàn) 獲得超11個(gè)贊

通常pow(double, double),數(shù)學(xué)庫(kù)中函數(shù)的實(shí)現(xiàn)基于身份:


pow(x,y) = pow(a, y * log_a(x))

使用此標(biāo)識(shí),您只需要知道如何將單個(gè)數(shù)字a升為任意指數(shù),以及如何采用對(duì)數(shù)底數(shù)即可a。您已經(jīng)有效地將一個(gè)復(fù)雜的多變量函數(shù)轉(zhuǎn)換為一個(gè)變量和一個(gè)乘法的兩個(gè)函數(shù),這很容易實(shí)現(xiàn)。最常見(jiàn)的選擇值a是e或2- e因?yàn)閑^x和log_e(1+x)有一些非常漂亮的數(shù)學(xué)特性,并且2因?yàn)樗哂杏糜诟↑c(diǎn)運(yùn)算執(zhí)行一些不錯(cuò)的性能。


做這種方式的缺點(diǎn)是,(如果你想獲得完全精確),你需要計(jì)算的log_a(x)項(xiàng)(以及它與產(chǎn)品y)比的浮點(diǎn)表示更高的精度x和y。例如,如果x和y是雙精度數(shù),并且想要獲得高精度結(jié)果,則需要想出一些方法以更高精度的格式存儲(chǔ)中間結(jié)果(并進(jìn)行算術(shù)運(yùn)算)。Intel x87格式和64位整數(shù)一樣是常見(jiàn)的選擇(盡管如果您確實(shí)想要高質(zhì)量的實(shí)現(xiàn),則需要執(zhí)行一些96位整數(shù)計(jì)算,這在某些情況下會(huì)有些痛苦語(yǔ)言)。如果實(shí)施powf(float,float),則處理起來(lái)要容易得多,因?yàn)槟菢泳涂梢允褂胐ouble用于中間計(jì)算。如果您要使用這種方法,我建議從此開始。


我概述的算法不是唯一可行的計(jì)算方法pow。它只是最適合提供滿足固定先驗(yàn)精度范圍的高速結(jié)果。它在某些其他情況下不太合適,并且比其他一些人建議的重復(fù)平方根算法肯定更難實(shí)現(xiàn)。


如果要嘗試使用重復(fù)平方[root]算法,請(qǐng)首先編寫一個(gè)僅使用重復(fù)平方的無(wú)符號(hào)整數(shù)冪函數(shù)。一旦掌握了這種簡(jiǎn)化情況的算法,您就會(huì)發(fā)現(xiàn)將其擴(kuò)展為處理分?jǐn)?shù)指數(shù)非常簡(jiǎn)單。


查看完整回答
反對(duì) 回復(fù) 2019-09-21
  • 3 回答
  • 0 關(guān)注
  • 824 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)