Modulo-Verständnisfrage

Huaba

Semiprofi
Thread Starter
Mitglied seit
02.06.2007
Beiträge
4.583
Hallo,

habe eine Frage zur "symmetrischen Variante" des Modulo:
Division mit Rest

hab das jetzt mal in Java implmentiert..
Code:
int result2 = (int) (a - m * (Math.signum(a)*Math.signum(m)*Math.floor(a/m)));

sodala. nur check ich nicht ganz den sinn hinter diesem modulo?
bei -10 mod 3 berechnet mein Programm -19?!?

Wenn ich es nachrechne kommt raus:
-10 - 3*(-1)*1*[gauss(-10/3)] =
-10 - 3*(-1)*1*(-3) =
-19

was ja stimmen würde... versteh ich die formel grade nicht? oder stimmt -19 als "symmetrisches modulo", und wenn ja, was hat das für einen sinn/drückt es aus? das mathematische modulo ist ja klar, aber ich entdeck grad den sinn hinter dem symmetrischen nicht :fresse:

grüße
 
Wenn Du diese Anzeige nicht sehen willst, registriere Dich und/oder logge Dich ein.
[gauss(-10/3)] =-3
Nö, sondern -4.
Die Gaußklammer bezeichnet die größte ganze Zahl, die kleiner oder gleich der Zahl in der Gaußklammer ist (wiki), als Richtung minus unendlich, nicht Richtung null.
Und woher du die Signums nimmst, ist mir nicht ganz klar.
Modulo 3 gilt -10 = -1 = 2, wegen -10=3*(-3)+( -1 )=3*(-4)+ 2 .

mfg
 
Zuletzt bearbeitet:
Nö, sondern -4.
Die Gaußklammer bezeichnet die größte ganze Zahl, die kleiner oder gleich der Zahl in der Gaußklammer ist (wiki), als Richtung minus unendlich, nicht Richtung null.
Udn woher du die Signums nimmst, ist mir nicht ganz klar. Denn modulo 3 gilt -10 = -1 = 2, wegen -10=3*(-3)+(-1)=3*(-4)+2.

mfg

a jetzt! was brauche ich dann da für eine funktion?

aber selbst wenn es so ist - dann wäre das ergebnis ja
-10 - 3*(-1)*1*(-4) = -22?!

kannst du den letzten rechenschritt nochmal erklären? steh grad VÖLLIG neben mir 0o
 
Zuletzt bearbeitet:
a jetzt! was brauche ich dann da für eine funktion?

aber selbst wenn es so ist - dann wäre das ergebnis ja
-10 - 3*(-1)*1*(-4) = -22?!

kannst du den letzten rechenschritt nochmal erklären? steh grad VÖLLIG neben mir 0o
Woher kommen denn deine Vorzeichengeschichten?
Es ist schlicht -10 - 3*(-4) = 2.

mfg
 
Woher kommen denn deine Vorzeichengeschichten?
Es ist schlicht -10 - 3*(-4) = 2.

mfg

ddef3046e7dce5f11aec4d48cddbcee9.png


hiervon!
signum a ist doch bei -10 = -1
signum m ist doch bei 3 = 1
und die gauß ist -4

hä? 0o
 
ddef3046e7dce5f11aec4d48cddbcee9.png


hiervon!
signum a ist doch bei -10 = -1
signum m ist doch bei 3 = 1
und die gauß ist -4

hä? 0o
Du hast da Betragsstriche drinne, die oben wiederum fehlen. Fügst du sie ein (oder erweiterst die Gaußklammer auch auf negative Zahlen), dann passt alles - wenig verwunderlich.

mfg
 
Zuletzt bearbeitet:
ou damn..

ich danke dir. so ein kleiner simpler fehler ;)
 
mh nochmal ne frage - wo sind dann die unterschiede? es heißt zwar was von unterschiedlichen ergebnissen bei negativen argumenten, allerdings krieg ich immer dasselbe raus?!

hab jetz mal gesucht und irgendwas von einem "mathematischen nutzen" gelesen.. allerdings steig ich einfach nicht dahinter. um ne kurze erläuterung wäre ich froh!
 
Ich helf (dir) gerne,aber etwas präziser müsten die fargen dann schon sein:
mh nochmal ne frage - wo sind dann die unterschiede?
Unterschiede zwischen was?
es heißt zwar was von unterschiedlichen ergebnissen bei negativen argumenten, allerdings krieg ich immer dasselbe raus?!
Wo heißt es das? Und wobei bekommst du immer das selbe raus?
hab jetz mal gesucht und irgendwas von einem "mathematischen nutzen" gelesen.. allerdings steig ich einfach nicht dahinter. um ne kurze erläuterung wäre ich froh!
Nutzen wovon?

mfg
 
Unterschiede zwischen was?Wo heißt es das?
Zwischen den beiden modulo methoden, welche im wiki stehen - der mathematischen und der symmetrischen variante!

Und wobei bekommst du immer das selbe raus?Nutzen wovon?
bei meinem Javaprogramm. es steht im wiki:

"Neben dieser sogenannten „Mathematischen Variante“ wird oft auch eine ähnliche Funktion als Modulo bezeichnet, welche für negative Argumente unterschiedliche Ergebnisse liefert und „symmetrische Variante“ genannt wird:"

meine implementierungen:

Code:
System.out.print("Mathematisches Modulo: ");
int result = (int) (a - (Math.floor(a/m))*m);

System.out.print("Symmetrisches Modulo: ");
int result2 = (int) (a - m * (Math.signum(a)*Math.signum(m)*Math.floor(Math.abs(a)/Math.abs(m))));

mfg
 
Axo,ja. Das liegt an dem, was ich schon in #2 schrieb:
Modulo 3 gilt -10 = -1 = 2, wegen -10=3*(-3)+( -1 )=3*(-4)+ 2

Die Sysmmetrische Variante ist symmetrisch bzgl. der Null. D.h. a mod b= - ( -a mod b).
Somit wäre -10 mod 3 = -(-(-10) mod 3) = -(10 mod 3) = -1.

Die andere ist eher "verschoben", d.h. a mod b = (a+b) mod b = (a+ n*b) mod b
Somit wäre -10 mod 3 = (-10 + 4 * 3) mod 3 = (-10 + 12) mod = 2 mod 3.

Welche Variante man wählt ist im Prinzip egal. Je nach Definition des Modulopasst die eine oder die andere.

(Es ist wie bei der Uhrzeit. Es ist entweder 15 Minuten vor um, d.h. -15 mod 60, oder 45 Minuten nach um, d.h. 45 mod 60. Je nach Region/Prägung sagt man dann das eine oder das andere ...)

mfg
 
a vielen dank. jetz ist es klar.

nur hab ich dann eine frage zu dem wiki zitat, wo gesagt wird, es werden verschiedene ergebnisse bei negativen werten geliefert... kann ich das nur nicht programmiertechnisch nachstellen oder ist das einfach blödsinn?

ich mein, diese verschiebung beispielsweise von dir oder die spiegelung zur 0 kann ich ja nur auf dem blatt machen ;)

nochmal kontrolle, hab ich das so richtig kapiert?

Symm. Var.:
a mod b= - ( -a mod b)
z.b. 15 mod -4 = -(-15 mod 4) = - (-3) = 3

Mathem. Var.: (n wähle ich einfach wies mir passt oder wie?)
a mod b = (a+n*b) mod b
z.b. 15 mod -4 = (15+5*-4) mod -4 = -5 mod -4 = -1 (aber das wäre doch dann auch wieder mod -4 = 3!?!?!)

oder wie jetzt? und das vorzeichen krieg ich bei beiden methoden vom dividend, oder?
 
Zuletzt bearbeitet:
kann meinen letzten post noch schnell wer bestätigen? :P
 
nur hab ich dann eine frage zu dem wiki zitat, wo gesagt wird, es werden verschiedene ergebnisse bei negativen werten geliefert... kann ich das nur nicht programmiertechnisch nachstellen oder ist das einfach blödsinn?

ich mein, diese verschiebung beispielsweise von dir oder die spiegelung zur 0 kann ich ja nur auf dem blatt machen ;)

nochmal kontrolle, hab ich das so richtig kapiert?

Symm. Var.:
a mod b= - ( -a mod b)
z.b. 15 mod -4 = -(-15 mod 4) = - (-3) = 3

Mathem. Var.: (n wähle ich einfach wies mir passt oder wie?)
a mod b = (a+n*b) mod b
z.b. 15 mod -4 = (15+5*-4) mod -4 = -5 mod -4 = -1 (aber das wäre doch dann auch wieder mod -4 = 3!?!?!)

oder wie jetzt? und das vorzeichen krieg ich bei beiden methoden vom dividend, oder?
up! bitte nomal kurz drüberschaun!!
 
neue frage:

wenn ich a kongruent b mod m habe... wieso kann ich dann sagen, dass a-b mod m = 0 ist, also vollständig teilbar ist?

bsp: a=5, b=9; a kongruent b mod 4
-> a-b=5-9=-4 -> mod 4 = 0 und daraus dann: a-b = 4*GanzeZahlZ1

wieso kann ich das sagen?!

danke! grüße
 
neue frage:

wenn ich a kongruent b mod m habe... wieso kann ich dann sagen, dass a-b mod m = 0 ist, also vollständig teilbar ist?

bsp: a=5, b=9; a kongruent b mod 4
-> a-b=5-9=-4 -> mod 4 = 0 und daraus dann: a-b = 4*GanzeZahlZ1

wieso kann ich das sagen?!

danke! grüße

+

Symm. Var.:
a mod b= - ( -a mod b)
z.b. 15 mod -4 = -(-15 mod 4) = - (-3) = 3

Mathem. Var.: (n wähle ich einfach wies mir passt oder wie?)
a mod b = (a+n*b) mod b
z.b. 15 mod -4 = (15+5*-4) mod -4 = -5 mod -4 = -1 (aber das wäre doch dann auch wieder mod -4 = 3!?!?!)

oder wie jetzt? und das vorzeichen krieg ich bei beiden methoden vom dividend, oder?

+ ich verstehe einfach den sinn dahinter nicht ;) das ergebniss ist ja im prinzip dasselbe.. und wann braucht man das eine wann das andere!?
 
+ ich verstehe einfach den sinn dahinter nicht ;) das ergebniss ist ja im prinzip dasselbe..
Ist 11 Uhr 55 was anderes als Fünf vor Zwölf?
und wann braucht man das eine wann das andere!?
Hängt von der Konvention/Definition ab. Modulo 5 sind halt 2 und -3 ununterscheidbar und nur zwei verschieden Repräsentanten eines Restklassse (oder gar nur zwie verschieden Namen eines Ring- bzw. Körperelements).
Quäle dich nicht mit solchen Sinnfragen - jedenfalls nicht für Mathe.

mfg
 
a okay danke.

Eine Frage hab ich noch:
sie unterscheiden sich ja eigtl nur durch die Berechnung des Ganzzahlquotienten - einmal mit der Gaußklammer, einmal mit div. Beispiel

Gauß(3/4) = 0; Gauß(-6/4)=-2, da gauß immer kleiner/gleich dem reellen wert
div(3/4) = 0; div(-6/4)=-1, da zur 0 hin gerundet

hab ich das so richtig verstanden, deswegen auch die unterschiedlichen ergebnisse?
 
a okay danke.

Eine Frage hab ich noch:
sie unterscheiden sich ja eigtl nur durch die Berechnung des Ganzzahlquotienten - einmal mit der Gaußklammer, einmal mit div. Beispiel

Gauß(3/4) = 0; Gauß(-6/4)=-2, da gauß immer kleiner/gleich dem reellen wert
div(3/4) = 0; div(-6/4)=-1, da zur 0 hin gerundet gegangen wird

hab ich das so richtig verstanden, deswegen auch die unterschiedlichen ergebnisse?
(fixed, es ist keine Rundung!)
Im Prinzip: ja.

(Der Unterschied ist halt Definitionssache. So wie von dir beschrieben ist,es aber üblich.)

mfg
 
Nochmal eine Frage:
Was ist der "sinn" einer Restklasse?

ich weiß, wieder so eine Sinnfrage ;) aber wieso teile ich zahlen in restklassen mod m ein? bzw. daraus folgend - der sinn eines restklassenkörpers!? ;)

oder ist das wieder so eine überflüssige sinnfrage in der mathematik? :P

grüße
 
Ich würde die Sinnfrage in der Mathematik lassen. Man schaut sicht Sachverhalte an und schafft Regeln, für Probleme schafft man Lösungen. Anwendungen dafür gibt es ab einem gewissen Punkt nicht mehr. Ein reales Problem, dass sich Mittels Körper lösen lässt, fällt mir spontan nicht ein.
 
Sinn? Ohje ... Man kann es benutzen und damit rechnen und andere Sachen (einfacher) beweisen.
Praktischere Anwendungen finden sich in der Codierungstheorie und Verschlüsselung (RSA!) und in der Signalverarbeitung. Also praktisch in jedem Computer. ;-)

mfg
 
danke euch. letzte sache:

1.
773a37a5c66f3d499f6c704155dadb55.png


Z x Z -> Z
Umgangssprache? "Eine ganze Zahl wird durch deinen Operator und eine weitere ganze Zahl wieder zu einer ganzen Zahl"? ich checks nicht ;)

2."Ist m positiv, so ist
a78a93a3d1142f66c3f1166459090c14.png
für alle a"
kann ich das "positiv definitheit" nennen?

3.
3f6fec645cdb7291e1d18353f25feb00.png

Das ist ja diese Symmetrie über der 0, oder?

4. ISBN: auf wikipedia steht:
e8fdcce4db86572f1f61ec34c972d5b3.png

diese wird hier zu:
d5da24b3e48ed0693e98f336c22ecf73.png

aber fehlt hier nicht ein mod 10 um das ganze?
 
Zuletzt bearbeitet:
:heuldoch:
(Nicht ganz ernst gemeint!)
danke euch. letzte sache:

1.
773a37a5c66f3d499f6c704155dadb55.png


Z x Z -> Z
Umgangssprache? "Eine ganze Zahl wird durch deinen Operator und eine weitere ganze Zahl wieder zu einer ganzen Zahl"? ich checks nicht ;)

2."Ist m positiv, so ist
a78a93a3d1142f66c3f1166459090c14.png
für alle a"
kann ich das "positiv definitheit" nennen?

3.
3f6fec645cdb7291e1d18353f25feb00.png

Das ist ja diese Symmetrie über der 0, oder?

4. ISBN: auf wikipedia steht:
e8fdcce4db86572f1f61ec34c972d5b3.png

diese wird hier zu:
d5da24b3e48ed0693e98f336c22ecf73.png

aber fehlt hier nicht ein mod 10 um das ganze?
1. Nein. Ein Element der Menge "Z kreuz Z" wir dauf ein Element der Menge "Z" abgebildet, d.h. aus zwei ganzen Zahlen wird eine ganze Zahl. (Wie beim Addieren!)
2. Ja, aber dann versteht dich keiner, da der Begriff normalerweise völlig anders verwendet wird. Also eher nein. :d
3. "Symmetrie über der 0"?! Was studierst du, Marketing? :d Das hieße formal, daß für festes m die Funktion "mod m" eine ungerade Funktion ist und ihr Graph punktsymmetrisch zum Koordinatenursprung wäre (wenn man ihn zeichnen würde). Du kannst das aber auch einfach Symmetrie nennen, meines Wissens nach hat diese Eigenschaft aber keinen Namen.
4. Nein. (Nicht nur die Bilder ansehen! Der Text erklärt es.)

Kurze Frage, um mein Antwortniveau geeignet zu wählen: Was machst du, wofür du das alles wissen willst?

mfg
 
4. Nein. (Nicht nur die Bilder ansehen! Der Text erklärt es.)

das ist das einzige was mich grübeln lässt. nehmen wir an, in dieser Summe in der Klammer kommt "0" raus, mod 10 = 0... dann wäre z13=10-0=10?!

das is doch falsch? oder wo fehlts hier? :P
 
ich hab jetzt ALLE(!) beiträge bei der diskussion durchgelesen und deinen beitrag, blick noch nicht ganz durch:

das 2. mod ist ja nur da, um die zahl 10 in die ziffer 0 "zu konvertieren" - wieso ist es aber dann falsch, ein mod 10 hinter das ganze nochmals zu setzen? ich meine, für werte 0-9 ergibt es ja wieder 0-9 und bei 10 ergibt es dann eben die 0 - sicher ist sicher?!

grüße
 
ich hab jetzt ALLE(!) beiträge bei der diskussion durchgelesen
Gratulation! Damit hast du 98% der Diskutanten etwas voraus! :d
das 2. mod ist ja nur da, um die zahl 10 in die ziffer 0 "zu konvertieren" - wieso ist es aber dann falsch, ein mod 10 hinter das ganze nochmals zu setzen? ich meine, für werte 0-9 ergibt es ja wieder 0-9 und bei 10 ergibt es dann eben die 0 - sicher ist sicher?!
Ja.
Praktisches Beispiel:
ISBN (ohne Prüfsumme, d. h. z1-z12):
978-4-00-963000-?
e8fdcce4db86572f1f61ec34c972d5b3.png
liefert
z13 = ( 10 - (( 27 + 11*3) mod 10) ) mod 10
z13 = ( 10 - ( 60 mod 10)) mod 10
z13 = ( 10 - 0 ) mod 10
z13 = 10 mod 10
z13 = 0
Also lautet die ISBN komplett 978-4-00-963000-0

Nun Klarer?

mfg
 
also kann ich auch getrost hinter die summenformel nochmal ein mod 10 setzen, damit ich auch auf jeden fall diese "nullregel" beachtet habe. oder? :d
wie ich das ganze mache ist mir klar, mir gehts nur darum, ob ich hinter diese lange summenformel nochmal komplett ein mod 10 setzen darf, weil es eben auf wikipedia nicht der fall ist! ;)
 
Zuletzt bearbeitet:
Hardwareluxx setzt keine externen Werbe- und Tracking-Cookies ein. Auf unserer Webseite finden Sie nur noch Cookies nach berechtigtem Interesse (Art. 6 Abs. 1 Satz 1 lit. f DSGVO) oder eigene funktionelle Cookies. Durch die Nutzung unserer Webseite erklären Sie sich damit einverstanden, dass wir diese Cookies setzen. Mehr Informationen und Möglichkeiten zur Einstellung unserer Cookies finden Sie in unserer Datenschutzerklärung.


Zurück
Oben Unten refresh