Seite 1 von 2
Modulo-Funktion
Verfasst: 02.08.2006 13:55
von HoDam
Gibt es eine eingebaute Modulo-Funktion oder eine Libary. wo diese drin ist?
Danke
Verfasst: 02.08.2006 13:56
von Konne
Verfasst: 02.08.2006 14:11
von HoDam
thx
Verfasst: 02.08.2006 14:13
von Kaeru Gaman
wenn du in der PureBasic-Hilfe im "Suchen"-Tab den begriff "modulo" eingibst,
erscheinen 2 abschnitte, einer davon ist "Variablen, Typen und Operatoren",
der andere ist "Pure-Basic Geschichte", da fällt es nicht schwer zu erraten,
dass man in ersterem gucken muss.
Verfasst: 02.08.2006 19:03
von HoDam
okay , sorry
habe nur über den Index gesucht.
Asche auf mein Haupt.
Verfasst: 02.08.2006 19:07
von Kaeru Gaman
> habe nur über den Index gesucht
ok, da ist natürlich sowas wie modulo nicht näher aufgeschlüsselt.
lohnt sich nicht wirklich ne ganze seite drüber zu schreiben.
> Asche auf mein Haupt
ach, passt scho.
ich selber hab mir die stichwort-suche erst angewöhnt, nachdem ich wirklich gemerkt habe, dass der index eigentlich recht spezifisch aufgebaut ist.
Verfasst: 02.08.2006 19:14
von ts-soft
Code: Alles auswählen
; für ganz altes PB
Procedure Mod(a,b)
ProcedureReturn a-(a/b)*b
EndProcedure
; für moderne PB
Macro M_Mod(a,b)
a % b
EndMacro
Debug Mod(102, 10)
Debug M_Mod(102, 10)
Oder direkt verwenden

Verfasst: 03.08.2006 10:15
von HoDam
Mal eine Frage
Code: Alles auswählen
Procedure Mod(a,b)
ProcedureReturn a-(a/b)*b
EndProcedure
Da funktioniert aber nur weil das Ergebnis(a/b) ein gewisse Ungenauigkeit hat?.
Wa ist denn, wenn ich Floats habe? bzw, sehr große oder sehr kleine Zahlen haben?
Verfasst: 03.08.2006 12:50
von Proton
Das funktioniert deshalb,weil 2 Integers dividiert werden. Die Formel funktioniert schneller
und genauso gut, wenn man schreibt: a-a/b*b. Die Klammern sind nicht notwendig .
Verfasst: 03.08.2006 18:03
von ts-soft
Ohne Klammern wird nichts schneller .
Die Klammern sind Empfehlenswert, sollten immer gesetzt werden. Wenn die
Prioritäten mal geändert werden, läuft der Code ohne Klammern nicht mehr.
Von PB3.93 nach PB4 wurden ja auch ein oder 2 Prioritäten geändert.
Probiere die Formel ohne Klammern mal mit dem Windows-Rechner
