Frage

Ich weiß nicht viel über die Montage, aber ich bin mir ziemlich sicher, dass es Quadratwurzel Anweisungen auf dem x86? Ich versuche, gut in Schaum und das man eine Quadratwurzelfunktion zur Arbeit zu kommen, dass ich gefunden habe, bekommt irgendwie festgefahren, wenn ich es viele Male ausgeführt werden.

: sqrt-closer ( square guess -- square guess adjustment)
2dup / over - 2 /
;

: sqrt ( square -- root )
1 begin
sqrt-closer dup
while + repeat
drop nip ;
War es hilfreich?

Lösung

Es gibt eine Gleitkomma-Anweisung Quadratwurzel ( FSQRT ). Das ist ziemlich schnell, auch wenn Sie nur eine ganze Zahl Quadratwurzel benötigen.

Andere Tipps

Sehen Sie hier:

http://www.azillionmonkeys.com/qed/sqroot.html

Alles, was Sie schon immer über Quadratwurzeln wissen, aber nie zu fragen wagten. Enthält eine Implementierung in x86-Assembler-Sprache.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top