Rumah >hujung hadapan web >tutorial js >JavaScript melaksanakan algoritma punca kuasa dua aritmetik - kemahiran code_javascript yang sangat mudah
Beberapa hari lalu saya melihat kod punca kuasa dua daripada Thor's Hammer Prinsip ini telah diperkenalkan di banyak tempat, jadi saya tidak akan menerangkan secara terperinci.
Kod sumber ditulis dalam bahasa C Selepas memikirkannya, saya mendapati bahawa algoritma sedemikian juga boleh dilengkapkan dalam 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; }
Ujian:
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
Walaupun hasilnya masih lebih perlahan daripada pustaka sistem, dan ketepatan sememangnya rendah. Tetapi saya berpuas hati.
Di atas adalah pelaksanaan algoritma punca kuasa dua aritmetik menggunakan JavaScript Bagaimana dengan kod ini sangat mudah. !