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 :wink:

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 . :freak:
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 :mrgreen: