Modulo-Funktion

Anfängerfragen zum Programmieren mit PureBasic.
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 »

HoDam hat geschrieben: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?
http://de.wikipedia.org/wiki/Modulo_%28Rest%29
Modulo ist der Rest einer Ganzzahlendivision!
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

laut wiki handelt es sich bei der klammer um eine Gaußklammer.
(und das is nix anderes als ne Int-funktion)

als Code muss es also so aussehen:

Code: Alles auswählen

a-Int(a/b)*b
damit es auch mit floats reibungslos klappt.
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 »

>> Modulo ist der Rest einer Ganzzahlendivision!
Was wollt ihr mit Float??? Float sind keine Ganzzahlen, Mod von Floats gibt es
nicht.

Nachtrag:
Da a in der Formel bereits ein Long ist, ist das Int sowieso unnütz.
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
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

>>> Modulo ist der Rest einer Ganzzahlendivision!

äh... ja... *handvordiestirnklatsch*

vergiss es schnell wieder...

in der mathematischen lösung ist es nötig, weil die teilung eben einen bruch liefert, keine ganzzahl.

als programm unnötig wegen des typ-cast.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Antworten