Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Rest einer Division ausgeben
bf109g.01 - Di 23.03.10 21:00
Titel: Rest einer Division ausgeben
Hallo, wie lautet nochmal der Befehl um den Rest einer Division auszugeben.
Bsp: 10/3=1
Danke
BenBE - Di 23.03.10 21:01
mod Siehe Hilfe.
Xearox - Mi 24.03.10 04:14
bf109g.01 hat folgendes geschrieben : |
Hallo, wie lautet nochmal der Befehl um den Rest einer Division auszugeben.
Bsp: 10/3=1
Danke |
das wäre aber 10/3=3 ...
Holg_i - Mi 24.03.10 09:58
Wie gibt es dafür auch ein Befehl... Ich sollte mich wohl echt langsam mal mit den Befehlen auseinander setzen.
Ich würde folgendes tippen
F34r0fTh3D4rk - Mi 24.03.10 11:19
Oder mit grundlegender Mathematik:
Modulo [
http://de.wikipedia.org/wiki/Modulo#Modulo] :mrgreen:
Aber prinzipiell macht Modulo genau das, was du beschrieben hast. Allerdings bin ich mir nicht sicher, wie bei
div gerundet wird.
Das sollte auch gehen:
Delphi-Quelltext
1:
| r := x - floor(x / y) * y; |
Aber so ists kürzer:
Xearox - Mi 24.03.10 15:00
ja das mit Mod hab ich mir letztens erst durchgelesen auf Wikipedia...
Also, zunächst war ich richtig verwirrt...aber dann hab ichs verstanden und gedacht, lol, was war denn daran nicht zu verstehen ich depp...
Gammatester - Mi 24.03.10 15:35
Xearox hat folgendes geschrieben : |
ja das mit Mod hab ich mir letztens erst durchgelesen auf Wikipedia...
Also, zunächst war ich richtig verwirrt...aber dann hab ichs verstanden und gedacht, lol, was war denn daran nicht zu verstehen ich depp... |
Na ja, ob verstanden oder nicht: jedenfalls ist im deutschen Wiki wieder mal ziemlicher Unsinn:
Zitat: |
Ist die Zahl m eine Primzahl oder die Potenz einer Primzahl so kann man die aus den Reellen Zahlen gewohnten Grundrechenarten mit anschließender modulo Berechnung anwenden und erhält einen sogenannten Endlichen Körper. |
Der rote Text muß gestrichen werden! Z.B. ist (5 mod 25) sicher nicht (0 mod 25), aber (5 mod 25)*(5 mod 25) = (0 mod 25). Die GF(p^k) sind sind zwar endliche Körper mit p^k Elementen, aber haben sie eine ganz andere multiplikative Struktur.
JoelH - Mi 24.03.10 15:43
F34r0fTh3D4rk hat folgendes geschrieben : |
Allerdings bin ich mir nicht sicher, wie bei div gerundet wird. |
Div rundet immer ab.
Übrigens, mit Mod, Div und Rekursion kann man recht elegant die Column im OpenOffice-Calc (oder Excel, da muss man immer eins weniger mitgeben, als man hat. OO fängt bei 0 an, E bei 1) ermitteln, wenn man Lust hat ;)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| function getColName(col:Integer):String; var rueckgabe : String; begin if col < 26 then rueckgabe := Chr(col+65) else rueckgabe := getCol((col div 26)-1) + Chr((col mod 26)+65); result := rueckgabe; end; |
Man gibt also z.B. 730 rein und bekommt ABC raus.
Gausi - Mi 24.03.10 16:16
Gammatester hat folgendes geschrieben : |
Na ja, ob verstanden oder nicht: jedenfalls ist im deutschen Wiki wieder mal ziemlicher Unsinn: Zitat: | Ist die Zahl m eine Primzahl oder die Potenz einer Primzahl so kann man die aus den Reellen Zahlen gewohnten Grundrechenarten mit anschließender modulo Berechnung anwenden und erhält einen sogenannten Endlichen Körper. | Der rote Text muß gestrichen werden! Z.B. ist (5 mod 25) sicher nicht (0 mod 25), aber (5 mod 25)*(5 mod 25) = (0 mod 25). Die GF(p^k) sind sind zwar endliche Körper mit p^k Elementen, aber haben sie eine ganz andere multiplikative Struktur. |
Ist zwar nicht direkt das Thema, aber wo ist denn das Problem? Die Aussage bei Wikipedia soll doch wohl sein, dass
(5 mod 25) * (5 mod 25) = (5 * 5) mod 25 gilt. Und das ist doch wohl der Fall, oder? Dass das Produkt zweier Elemente ungleich 0 wieder 0 ergeben kann, gibt es bei den reellen Zahlen zwar nicht, aber das stört hier doch nicht, oder?
Gammatester - Mi 24.03.10 16:52
Moderiert von
Narses: Komplett-Zitat des letzten Beitrags entfernt.
Nein, Wiki behauptet doch: Die Reste mod m mit den Operationen
Quelltext
1: 2:
| (a mod m) + (b mod m) = (a+b) mod m (a mod m) * (b mod m) = (a*b) mod m |
bilden eine Körper. Das wäre zwar besonders interessant für Programmierer usw, weil man man dann mod 2^8, 2^32, 2^64 auch multiplikative Inverse für alle Werte <>0 hätte; leider geht's aber nicht so einfach.
elundril - Mi 24.03.10 18:09
Dann bessere es doch bei Wikipedia aus! (wenn du dich traust :mrgreen:)
lg elundril
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!