Modulo-Funktion

Anfängerfragen zum Programmieren mit PureBasic.
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Modulo-Funktion

Beitrag von HoDam »

Gibt es eine eingebaute Modulo-Funktion oder eine Libary. wo diese drin ist?

Danke
PB 4 Final
Benutzeravatar
Konne
Beiträge: 764
Registriert: 30.03.2005 02:20
Kontaktdaten:

Beitrag von Konne »

HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

thx
PB 4 Final
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag von HoDam »

okay , sorry

habe nur über den Index gesucht.

Asche auf mein Haupt.
PB 4 Final
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag 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.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
HoDam
Beiträge: 82
Registriert: 19.11.2004 13:57
Wohnort: Köln, Cologne

Beitrag 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?
PB 4 Final
Benutzeravatar
Proton
Beiträge: 152
Registriert: 20.06.2006 12:21
Wohnort: Eckernförde /Stadtbergen

Beitrag 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 .
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag 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:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
Antworten