문제

어셈블리에 대해 많이 모르지만 x86에 제곱근 지침이 있다고 확신합니다. 나는 거품에서 잘 작동하기 위해 제곱근 기능을 얻으려고 노력하고 있으며, 내가 찾은 것은 여러 번 실행할 때 어떻게 든 멍청하게됩니다.

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

: sqrt ( square -- root )
1 begin
sqrt-closer dup
while + repeat
drop nip ;
도움이 되었습니까?

해결책

부동 소수점 제곱근 명령이 있습니다 (fsqrt). 정수 제곱근 만 필요하더라도 이것은 매우 빠릅니다.

다른 팁

이봐:

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

정사각형 뿌리에 대해 알고 싶었지만 물어보기를 두려워했습니다. x86 어셈블리 언어로 구현됩니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top