JavaScript實(shí)現(xiàn)算術(shù)平方根算法-代碼超簡(jiǎn)單
前幾天看見(jiàn)了一個(gè)來(lái)自雷神之槌的平方根源碼,原理多方有介紹,不贅述。
源碼是c語(yǔ)言寫(xiě)的,我思考后發(fā)現(xiàn)這樣的算法在javascript中也是可以完成的。
function InvSqrt(x){
var h=0.5*x;
var b=new ArrayBuffer(4);
var d=new DataView(b,0);
d.setFloat32(0,x);
var i=d.getInt32(0);
i=0x5f375a86-(i>>1);
d.setInt32(0,i);
var r=d.getFloat32(0);
r=r*(1.5-h*r*r);
return r;
}
測(cè)試:
console.time("t");
for(var i=0;i<10000000;i++){
InvSqrt(i);
}
console.timeEnd("t");
console.time("t");
for(var i=0;i<10000000;i++){
1/Math.sqrt(i);
}
console.timeEnd("t");
VM2303:18 t: 33438.000ms
VM2303:24 t: 16720.000ms
雖然結(jié)果還是比系統(tǒng)庫(kù)慢,而且精度本來(lái)就低。不過(guò)我很滿意。
以上就是用javascript實(shí)現(xiàn)算術(shù)平方根算法算法,怎么樣,代碼很簡(jiǎn)單吧,需要的朋友快來(lái)學(xué)習(xí)吧。!
- 在JavaScript中使用開(kāi)平方根的sqrt()方法
- js浮點(diǎn)數(shù)保留兩位小數(shù)點(diǎn)示例代碼(四舍五入)
- js判斷輸入是否為正整數(shù)、浮點(diǎn)數(shù)等數(shù)字的函數(shù)代碼
- js浮點(diǎn)數(shù)精確計(jì)算(加、減、乘、除)
- javascript將浮點(diǎn)數(shù)轉(zhuǎn)換成整數(shù)的三個(gè)方法
- 深入理解JavaScript中的浮點(diǎn)數(shù)
- javaScript實(shí)現(xiàn)浮點(diǎn)數(shù)轉(zhuǎn)十六進(jìn)制字符
- Javascript中浮點(diǎn)數(shù)相乘的一個(gè)解決方法
- JavaScript浮點(diǎn)數(shù)及運(yùn)算精度調(diào)整詳解
- JavaScript檢查數(shù)字是否為整數(shù)或浮點(diǎn)數(shù)的方法
- javascript基于牛頓迭代法實(shí)現(xiàn)求浮點(diǎn)數(shù)的平方根【遞歸原理】
相關(guān)文章
iSlider手機(jī)端圖片滑動(dòng)切換插件使用詳解
這篇文章主要為大家詳細(xì)介紹了iSlider手機(jī)端圖片滑動(dòng)切換插件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-12-12
使用JavaScript遞歸函數(shù)封裝一個(gè)超級(jí)實(shí)用的轉(zhuǎn)換場(chǎng)景
這篇文章主要為大家詳細(xì)介紹了如何使用JavaScript遞歸函數(shù)封裝一個(gè)超級(jí)實(shí)用的轉(zhuǎn)換場(chǎng)景,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下2024-11-11
electron中獲取mac地址的實(shí)現(xiàn)示例
在基于Electron的應(yīng)用中,有一個(gè)業(yè)務(wù)需求是獲取物理網(wǎng)卡的Mac地址以用于客戶機(jī)唯一性識(shí)別,本文主要介紹了electron中獲取mac地址的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2023-12-12
three.js顯示中文字體與tween應(yīng)用詳析
這篇文章主要給大家介紹了關(guān)于three.js顯示中文字體與tween應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01
微信小程序scroll-view實(shí)現(xiàn)左右聯(lián)動(dòng)
這篇文章主要為大家詳細(xì)介紹了微信小程序scroll-view實(shí)現(xiàn)左右聯(lián)動(dòng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-09-09

