Wurzel per Sqr ziehen
Übersicht

![]() |
5k41Betreff: Wurzel per Sqr ziehen |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hallo!
Mir ist grad aufgefallen das man sich selbst ganz schnell mit: Code: [AUSKLAPPEN] Function R(radikant#,factor#=2) Return ( radikant# ^ ( 1 / factor# ) ) End Function eine eigene Wurzelfunktion basteln kann und nun wollte ich fragen, ob die original Blitzfunktion das genau so macht, ob es schneller ist und was der Nachteil daran ist. MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
- Zuletzt bearbeitet von 5k41 am Mi, Nov 08, 2006 20:32, insgesamt einmal bearbeitet
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die Quadratwurzel-Funktion von BB ist sicher schneller.
Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh, also ich hab mal irgendwo hier gelesen, dass jene sehr langsam sein soll... gibt es hier vielleicht irgendwen der erklären kann wie die von Blitz funktioniert oder warum nun was schneller ist?
MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also die Quadratwurzel-Funktion von Blitz wird auch nix anderes machen, als die Systemfunktion dafür aufzurufen - also die gleiche, die auch mein C++ Compiler nutzt. Deine Exponentialfunktion sollte deutlich langsamer laufen. Das kannst Du ja mal in einer Schleife testen und die Millisekunden ausgeben. ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
Schnuff |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
jop, bei 100000 durchläufen
brauchte die normale 10-11 Ms und deine 31Ms ![]() |
||
Programmers dont die. They gosub without return... |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
mh, ok schade... naja, n versuch wars wert ![]() mfg |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
Xaron |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ist ja trotzdem nützlich, wenn Du nicht die Quadratwurzel sondern z.B. die dritte oder vierte oder xte Wurzel aus einer Zahl ziehen willst. ![]() Gruß - Xaron |
||
Cerberus X - Monkey X Reloaded! |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Was mich zu der Klugscheisserei bringt dass Deine Funktion den falsche Namen trägt: squareroot ist ja die Quadratwurzel... | ||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
naja y.wurzel(x) = x^1/y
ist eigentlich ein mathematischer Zusammenhang, der allgemein bekannt ist ![]() Wie man aber z.B eine Zahl wie 6^2,35791 (oder allgemein a^(b/c)) ohne Taschenrechenr oder Computer ausrechnen würde - ich weiß es nicht. |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Triton hat Folgendes geschrieben: naja y.wurzel(x) = x^1/y
ist eigentlich ein mathematischer Zusammenhang, der allgemein bekannt ist ![]() falsch ![]() x^1/y = x/y y.wurzel(x) = x^(1/y) ![]() schriftliches Wurzelziehen ist ebenfalls möglich. Ist eigentlich recht einfach jedoch dumm zu erklären. Rechenbeispiel: Code: [AUSKLAPPEN] 24|90|01 = 4
-16 8 89 ; Zerteilung der Zahl in 2er Pärchen, von rechts beginnend. Dann die größte Quadratzahl unter dem ersten Pärchen abziehen und die Wuzel der Zahl als Ergebnis notieren. 89/8 = 9 + Rest (da Zahl min 0 max 9) ;Die nächste Ziffer herunterziehen und die sich ergebende Zahl durch das bisher doppelte Gesamtergebnis teilen. Der Rest interessiert keinen. 9, da das Ergebnis über -1 und unter 10 sein muss 9*89 = 801 ;Nun das Ergebnis oben zum Gesamtergebnis hinzufügen, die nächste Zahl herunterziehen. Hier nun das Ergebnis des letzten Schrittes * (den Divisor der letzten Rechung * 10 + das Ergebnis der letzten Rechnung). Das hier entstehende Produkt abziehen. 24|90|01 = 49 -16 8 890 -801 890 890/98 = 9 + Rest ;Wieder die nächste herunterziehen, durch das doppelte Ergebnis teilen und schon haben wir 3 Ziffern beim Ergebnis stehen. 9*989 81 72 81 =8901 ; noch einmal: Ergebnis(hier 9)*(Den Divisor (vorher 98)*10+Ergebnis( hier 9 )) rechnen und nun... 24|90|01 = 499 -16 8 890 -801 890 8901 -8901 ;nachdem man die nächste Zahl heruntergezogen hat, abziehen. Sollte 0 herauskommen, so hat man die endgültige Wurzel. |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Triton |
![]() Antworten mit Zitat ![]() |
---|---|---|
StepTiger hat Folgendes geschrieben: Triton hat Folgendes geschrieben:
naja y.wurzel(x) = x^1/y
ist eigentlich ein mathematischer Zusammenhang, der allgemein bekannt ist ![]() falsch ![]() x^1/y = x/y y.wurzel(x) = x^(1/y) ![]() Ich spar mir zu dieser Klugscheißerei mal einen Kommentar ![]() StepTiger hat Folgendes geschrieben: schriftliches Wurzelziehen ist ebenfalls möglich. Ich weiß ![]() Aber zieh doch mal schriftlich die 11. Wurzel oder berechne Schriftlich 2^3,14159 ![]() |
||
Coding: silizium-net.de | Portfolio: Triton.ch.vu |
![]() |
StepTiger |
![]() Antworten mit Zitat ![]() |
---|---|---|
schriftlich die 11te geht auch ^^
war auch nur ein Beispiel ^^ |
||
Noch gestern standen wir am Abgrund, doch heute sind wir schon einen Schritt weiter.
Computer: AMD Sempron 3000+; ATI Radeon 9800 Pro; 512 MB DDR RAM 400Mhz; Asus E7N8X-E Deluxe; Samsung 200GB HD 5.4ns acces t Gewinner: BP Code Compo #2 Π=3.141592653589793238...<--- und das aus dem kopf ![]() Seit der Earthlings-Diskussion überzeugter Fleisch(fr)esser. |
![]() |
Mr.Keks |
![]() Antworten mit Zitat ![]() |
---|---|---|
BladeRunner hat Folgendes geschrieben: Was mich zu der Klugscheisserei bringt dass Deine Funktion den falsche Namen trägt: squareroot ist ja die Quadratwurzel... ich weiß, dass das für blitz gilt, aber eigentlich ist ja sqr die abkürzung für square und square root wird durch sqrt abgrkürzt ^^.
|
||
MrKeks.net |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
hab die funktion mal umbenannt ![]() |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
![]() |
BladeRunnerModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Dass ist gut, wir haben hier nämlich genug klug-Sch... für nen Gravitationskollaps gesammelt.
![]() |
||
Zu Diensten, Bürger.
Intel T2300, 2.5GB DDR 533, Mobility Radeon X1600 Win XP Home SP3 Intel T8400, 4GB DDR3, Nvidia GF9700M GTS Win 7/64 B3D BMax MaxGUI Stolzer Gewinner des BAC#48, #52 & #92 |
![]() |
PowerProgrammer |
![]() Antworten mit Zitat ![]() |
---|---|---|
Aua, einen Buchstaben als Befehlsnamen? Nimm doch lieber "Rt" oder gleich "Root". ![]() |
||
www.xairro.com Alles für Webmaster und Programmierer! Es gibt mehr als bloß einen Counter! |
![]() |
5k41 |
![]() Antworten mit Zitat ![]() |
---|---|---|
war auch nicht wirklich ernst gemeint... ![]() ![]() MfG |
||
Projekte:
For a better World - Gesellschaftsspiel ( 100%) User posted image |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group