Heim > Web-Frontend > js-Tutorial > JavaScript implementiert den arithmetischen Quadratwurzelalgorithmus – supereinfache Code_Javascript-Kenntnisse

JavaScript implementiert den arithmetischen Quadratwurzelalgorithmus – supereinfache Code_Javascript-Kenntnisse

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-05-16 15:39:40
Original
2795 Leute haben es durchsucht

Vor ein paar Tagen habe ich einen Quadratwurzelcode von Thors Hammer gesehen. Das Prinzip wurde an vielen Stellen eingeführt, daher werde ich nicht auf Details eingehen.

Der Quellcode ist in der Sprache C geschrieben. Nachdem ich darüber nachgedacht hatte, stellte ich fest, dass ein solcher Algorithmus auch in JavaScript vervollständigt werden kann.

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;
}
Nach dem Login kopieren

Test:

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
Nach dem Login kopieren

Obwohl das Ergebnis immer noch langsamer ist als die Systembibliothek und die Genauigkeit von Natur aus gering ist. Aber ich bin zufrieden.

Das Obige ist die Implementierung des arithmetischen Quadratwurzelalgorithmus mit JavaScript. Freunde, die es brauchen, kommen und lernen es. !

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage