![]() |
ENGLISH VERSION |
|
![]() |
Links | | | Forum | | | Kommentare | | | News melden |
![]() |
Chat | | | Umfragen | | | Newsticker | | | Archiv |
![]() |
amiga-news.de Forum > Programmierung > Mathematiker hier? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
1 -2- | [ - Beitrag schreiben - ] |
20.05.2005, 19:24 Uhr Holger Posts: 8116 Nutzer |
Zitat:Wie kann das langsamer sein, wo es doch mit 16Bit Variable gar nicht funktioniert? Zitat:Weil 16Bit früher auf C64 und 8086 schneller als 32Bit war, heißt das nicht, das man die Programmiertechniken von damals beibehalten muß. Natürlich gibt es Situationen, in denen es eine Rolle spielt, zum Beispiel bei der Frage "Dim n%(10000)" oder "Dim n&(10000)", aber eine Schleifenvariable sollte definitiv nicht dazu gehören. Und vor kurzem noch hast Du floating-point benutzt, wo integer vollkommen ausreichend war, und hast Dich nicht an dem (in diesem Fall wirklich vorhandenem) Performanceunterschied gestört. mfg -- Good coders do not comment. What was hard to write should be hard to read too. [ - Antworten - Zitieren - Direktlink - ] |
20.05.2005, 19:30 Uhr Holger Posts: 8116 Nutzer |
Nachtrag: Ich kenne übrigens keine Programmierer, der bei solchen Dingen 16Bit-Variablen nutzen würde. Ich kenne allerdings auch keine Basic-Programmierer. [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 00:30 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Auf 32-Bit-Prozessoren gibt es normalerweise keinen Grund 16-Bit-Variablen zu benutzen, es sei denn, du musst Speicher sparen. Bei einer Zählvariablen sollte dies aber kein wirkliches Argument sein. Tschüß, [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 10:45 Uhr MaikG Posts: 5172 Nutzer |
>Wie kann das langsamer sein, wo es doch mit 16Bit Variable >gar nicht funktioniert? Wenn man es mit % und & macht, bis 30000 und vergleicht. >Weil 16Bit früher auf C64 und 8086 schneller als 32Bit war, >heißt das nicht, das man die Programmiertechniken von >damals beibehalten muß. Ich weiss nicht aber das Programm schrieb ich zuerst auf einen 030er, der volle 32Bit hat. >Und vor kurzem noch hast Du floating-point benutzt, wo >integer vollkommen ausreichend war, und hast Dich nicht >an dem (in diesem Fall wirklich vorhandenem) >Performanceunterschied gestört. Es mach einen Unterschied ob man nur 20x die Funktion benötigt oder 30000x. [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 11:15 Uhr Ralf27 Posts: 2779 Nutzer |
@MaikG: Du machst mich neugierig: Schreibst du in MBasic? Was für Programme hast du denn schon geschrieben? Ich suche halt Leute im Amiga-Universum die MBasic programmieren. Es wäre einfach unglaublich wenn ich einen finden würde der real was mit MBasic für unsere Kiste schreiben würde. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 15:01 Uhr MaikG Posts: 5172 Nutzer |
>sec% = blocks&/75 >min% = sec%/60 >sec% = sec% - min% * 60 Geht doch nicht... Ergibt abweichende werte. @Ralf27 ich schreib nur Kleinigkeiten für den Eigenbedarf. Also nicht wirklich was jemand anderes gebrauchen könnte. Eine Long Integer schleife mit 31000 ist um 0,02 sekunden langsamer als eine Integer. Mit 68060. [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 19:40 Uhr Palgucker Posts: 1342 Nutzer |
Ich weis zwar nicht warum, aber irgendwie ist die Modulo Berechnung hier irgendwie zu kurz gekommen, obwohl sie sich gerade zur berechnung der "Restsekunden" anbietet. Kann MaxonBasic kein Modulo? - kann ich mir nicht vorstellen. Dein Programm könnte dann etwa so aussehen: >allsec% = blocks&/75 >min% = allsec%/60 >sec% = allsec% mod 60 Ob der Operand für die Modulo bei MaxonBasic nun "mod" heist, weiß ich nicht, aber dafür ist z.B Ralf27 ein Ansprechpartner 1. Wahl. mfg Palgucker [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 21:11 Uhr MaikG Posts: 5172 Nutzer |
>Kann MaxonBasic kein Modulo? - kann ich mir nicht >vorstellen. Was soll das sein? >Dein Programm könnte dann etwa so aussehen: Mein Programm läuft schon, zwar mit Floating Point Variablen, aber das macht nichts, ist trotzdem in ein bruchteil einer Sekunde fertig. [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 21:36 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Versuch doch einfach mal folgendes: for x=0 to 20 print x mod 3 next Damit sieht man recht einfach was dieses Modulo macht. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 21:42 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Danke für die Blumen. ![]() -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
21.05.2005, 23:51 Uhr Palgucker Posts: 1342 Nutzer |
@ MaikG quote: >Kann MaxonBasic kein Modulo? - kann ich mir nicht >vorstellen. Was soll das sein? Da ha'm wir's Doch Grundschule verpasst;) - aber Spass beiseite. Du wirst Dich eventuell an die 2. oder 3.Klasse erinnern. Da musten wir eben solche Sachen rechnen,wie: 14 geteilt durch 5 Dort kam dann eben heraus, das dies 2 ist - Rest 4. Und genau diesen Rest berechnet die Modulorechnung. Also gar nichts kompliziertes. Merkwürdiger Weise kann ich mich auch nicht erinnern, das ich in den folgenden 7-8 Schuljahren jemals was von Modula gehöhrt habe. Das diese Berechnungsform zu den "Grundrechenarten" gehört, habe ich eigendlich auch erst mit dem Besitz eines Rechners festgestellt. Das kannst Du z.B. auch in der Shell ausprobieren: Eval 14 mod 5 oder diese Script: code:;GetPlayTime .key Blocks .bra { .ket } setenv allsec 'eval ({Blocks}*1000) / 75' setenv min 'eval $allsec / 60000' setenv sec 'eval $allsec/1000 mod 60'; <-- da isses! setenv milli 'eval $allsec-({Blocks}/75*1000)' echo "Laufzeit: $min:$sec:$milli" unsetenv allsec unsetenv min unsetenv sec unsetenv milli kannst Du ja mal aus "Geikel" mit "execute Datei Blockzahl" ausprobieren mfg Palgucker [ - Antworten - Zitieren - Direktlink - ] |
22.05.2005, 08:57 Uhr MaikG Posts: 5172 Nutzer |
>Du wirst Dich eventuell an die 2. oder 3.Klasse erinnern. >Da musten wir eben solche Sachen rechnen,wie: >14 geteilt durch 5 >Dort kam dann eben heraus, das dies 2 ist - Rest 4. Ich glaub damit tat ich mich schwer, weil bei mir ist das 2.8 - warum man einen Rest benötigt habe ich nie verstanden. Ich dachte die bringen mir das bei weil sie denken ich könnte nicht mit Komma rechnen. >Eval 14 mod 5 = 4 MaxonBasic hat den Befehl mod aber in Holger's programm ist der Befehl nicht gewesen. [ - Antworten - Zitieren - Direktlink - ] |
22.05.2005, 09:21 Uhr Flinx Posts: 1073 Nutzer |
Zitat: Auch jetzt nicht, wo er hier doch offensichtlich gebraucht wird? Abgesehen davon, daß Du bei 2,8 ja auch einen Rest hast - 0,8 nämlich. Genau um das darzustellen, hat irgendwann mal jemand das Komma erfunden... [ - Antworten - Zitieren - Direktlink - ] |
22.05.2005, 14:31 Uhr MaikG Posts: 5172 Nutzer |
>Auch jetzt nicht, wo er hier doch offensichtlich gebraucht >wird? Okay, das ist aber das 1.mal in 14 Jahren Programmieren vorgekommen. [ - Antworten - Zitieren - Direktlink - ] |
22.05.2005, 14:59 Uhr Ralf27 Posts: 2779 Nutzer |
Zitat: Nun, das ist halt auch so ein Befehl denn man umgehen kann, bzw. aufwendig umgehn. So ist das auch z.b. bei a=b and 4 oder a=b or 4 oder a=b xor 4 oder sonstigen Bitmanipulationen. Man kann sie umgehn bzw. umschreiben, aber wenn man diese Befehle benutzt dann ist es einfacher, bzw. logischer. MBasic bietet hier sehr viel, bzw. benutze ich das auch nicht. Ich tipp hier nur die Includes, die ich (leider) auch nicht benutze, was ich eigentlich machen sollte. -- http://www.alternativercomputerclub.de.vu [ - Antworten - Zitieren - Direktlink - ] |
22.05.2005, 22:28 Uhr NoImag Posts: 1050 Nutzer |
Zitat: Du hast es erkannt. In der Grundschule konntest du noch nicht mit Kommas rechnen. Es gab nur Ganze Zahlen (Z). Die Bruchrechnung, die Vorausetzung für Kommazahlen (Dezimalbrüche, rationale Zahlen, Q) ist, kommt erst in Klasse 5. Tschüß, [ - Antworten - Zitieren - Direktlink - ] |
1 -2- | [ - Beitrag schreiben - ] |
amiga-news.de Forum > Programmierung > Mathematiker hier? | [ - Suche - Neue Beiträge - Registrieren - Login - ] |
![]() |
Impressum |
Datenschutzerklärung |
Netiquette |
Werbung |
Kontakt
Copyright © 1998-2025 by amiga-news.de - alle Rechte vorbehalten. |
![]() |