Własna funkcja sqrt()
Ostatnio zmodyfikowano 2013-04-26 17:20
Brezniew Temat założony przez niniejszego użytkownika |
Własna funkcja sqrt() » 2013-04-26 14:44:02 Witam!!! Napisałem prostą funkcję sqrt(), problem w tym że niejest zbyt dokładna a funkcje z biblioteki math.h nie wykorzystam ponieważ funkcje chce umieścić w własnym systemie operacyjnym( na razie obsługuje jedynie tryb tekstowy ). Funkcja testuje w normalnym systemie umieszczę ją dopiero po dokończeni na chwilę obecną wygląda tak: float pow( float a, int n ) { float ret = 1; for( int i = 1; i <= n; i++ ) ret *= a; return ret; }
float sqrt( float a ) { float xn = a * 10000; int n; for( n = 0; xn >= 1; n++ ) xn /= 10; ( n % 2 == 0 ) ? xn = 6 * pow( 10,( n - 2 ) / 2 ) : xn = 2 * pow( 10,( n - 1 ) / 2 ); for( int i = 1; i < 100; i++ ) xn =( xn + a / xn ) / 2; return xn; } |
|
pekfos |
» 2013-04-26 15:55:14 Po co umieściłeś tu funkcję pow ? Chyba tylko po to, by zbierać "hejty" za bezsensowność i niezgodność ze standardem języka C. |
|
Brezniew Temat założony przez niniejszego użytkownika |
» 2013-04-26 16:34:35 Standardu c tam nie wstawię. |
|
crash |
» 2013-04-26 17:13:58 |
|
Brezniew Temat założony przez niniejszego użytkownika |
» 2013-04-26 17:20:11 Dzięki tera tylko napisać prostą wersję funkcji abs(). I pow() liczącą wykładnik zmiennoprzecinkowe. |
|
« 1 » |