Rumah >hujung hadapan web >tutorial js >JavaScript melaksanakan algoritma punca kuasa dua aritmetik - kemahiran code_javascript yang sangat mudah

JavaScript melaksanakan algoritma punca kuasa dua aritmetik - kemahiran code_javascript yang sangat mudah

WBOY
WBOYasal
2016-05-16 15:39:402788semak imbas

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. !

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn