Mod aus negativen Zahlen/Brüchen

Neue Frage »

movario Auf diesen Beitrag antworten »
Mod aus negativen Zahlen/Brüchen
Hallo

Kann mir jemand einen Tipp geben wie ich aus negativen ganzen Zahlen, wie auch aus positiven/negativen Brüchen den modulus berechne. Mein TR (Casio FX-991) kann leider nur den Mod aus ganzen postiven Zahlen berechnen.

Ich finde leider nix, bzw. kenne ich vielleicht den richtigen Suchbegriff nicht.


Danke schonmal
HAL 9000 Auf diesen Beitrag antworten »

Ich kenne jetzt nicht speziell den Casio FX-991, aber sehr viele Taschenrechner berechnen im Fall bei "modulo" nicht wie gewünscht sondern stattdessen - ist das auch das Problem beim Casio? Das ganze lässt sich jedenfalls via



reparieren.
movario Auf diesen Beitrag antworten »

Hi,

danke für die rasche Antwort.

Also wenn ich jetzt beispielsweise -8 mod 9 rechne dann gibt er mir kein sinnvolles Ergebnis an. Rechne ich nun (-8+9) mod 9 dann gibt er mir 1 an, was ja Stimmen würde.

Wie mache ich es aber dann bei z.B. -800 mod 9? Einfach ein vielfaches von in diesem Fall 9 dazurechnen um in den positiven bereich zu kommen?


Und wie verhält es sich mit Brüchen?
HAL 9000 Auf diesen Beitrag antworten »

Zitat:
Original von movario
Wie mache ich es aber dann bei z.B. -800 mod 9? Einfach ein vielfaches von in diesem Fall 9 dazurechnen um in den positiven bereich zu kommen?

Das habe ich doch gerade geschrieben - kannst du die Formel nicht lesen?
Elvis Auf diesen Beitrag antworten »

@ movario
Helmut Hasse definiert in "Vorlesungen über Zahlentheorie" § 10 auch "Kongruenz für gebrochene Zahlen". Wenn du daran - unabhängig von irgendwelchen Taschenrechnern - interessiert bist, kannst du dort nachlesen (oder ich schicke dir auf Wunsch eine gescannte Kopie dieses Paragraphen (ca. 3 Seiten)).
movario Auf diesen Beitrag antworten »

@HAL 9000

Lesen kann ich sie schon, nur verstehen leider nicht (was wohl eher an meinem mangelnden Mathematikverständnis liegt, als an deiner Erklärung).



@Elvis
Interessiert direkt eher nicht, sagen wir, ich muss mich dafür interessieren. Wenn dort ein verständlicher Weg zur Lösung meines Problems (modulo aus einem Bruch) drin steht sehr gerne smile
 
 
Elvis Auf diesen Beitrag antworten »

Nein, das löst keine Probleme. Helmut Hasse schreibt: "In dieser Bereicherung der Ausdrucksform liegt die hauptsächliche Bedeutung unserer Verallgemeinerung des Kongruenzbegriffs." Meines Erachtens ist dieses Buch nur für Liebhaber der Zahlentheorie geeignet, und als solchen betrachtest du dich ja anscheinend eher nicht. Solltest du deine Meinung ändern, dann gibt es das Buch hier als Schnäppchen für 69,99 € :https://www.google.de/search?source=hp&e...131.FngyZx49t9M
sixty-four Auf diesen Beitrag antworten »

Zitat:
Original von movario
Also wenn ich jetzt beispielsweise -8 mod 9 rechne dann gibt er mir kein sinnvolles Ergebnis an.


Was heißt das: Kein sinnvolles Ergebnis. Was kommt denn raus? Ich vermute, da kommt 1 raus. Das ist auch richtig. Die Mod-Funktion ist meistens so definiert, dass folgende Gleichung gilt:



Das heisst, die Mod-Funktion liefert den Wert zurück, der die Differenz zwischen

und x ausgleicht.

Daher glt:

und
Finn_ Auf diesen Beitrag antworten »

Um es mal klarzustellen, es gibt unterschiedliche Definitionen für die Ganzzahldivision und den zugehörigen Rest.

Euklidische Division:


Division mit Abrundung:


Division mit Abschneiden:


Hierbei gilt:


Die euklidische Division ist die mathematisch puristische Variante, denn nur bei dieser gilt unter der Voraussetzung immer

wobei und . Es geht halt darum, dass da auch ein positiver Rest bei rauskommen soll. Der euklidische Algorithmus baut auch, wie der Name schon sagt, auf der euklidischen Division auf.

Es nun so, dass die Floor-Division mit der euklidischen für koinzidiert und die Trunc-Division mit den beiden, wenn neben auch noch gilt.

In Programmiersprachen wird oft die Trunc-Division verwendet. Einige Leute stören sich daran, weil da negative Reste rauskommen können und sich dann ein falsches Ergebnis ergibt. Für meinen Plotter hab ich z.B. für die Achsenskalierung über Modulo die Funktion
code:
1:
2:
3:
4:
  x  | ... | -3  | -2  | -1  | 0 | 1 | 2 |  3 |  4 |  5 |  6  | ...
f(x) | ... | 0.1 | 0.2 | 0.5 | 1 | 2 | 5 | 10 | 20 | 50 | 100 | ...

implementiert. Für ergäbe sich in JavaScript unter Anwendung der Trunc-Division ein Fehler. Daher habe ich den Startindex auf gesetzt. In Python hätte ich mir darüber keine Gedanken machen müssen, da hier die Floor-Division benutzt wird. Fast immer setzt man nämlich voraus, sodass die Floor-Division dafür ausreicht.
Neue Frage »
Antworten »



Verwandte Themen

Die Beliebtesten »
Die Größten »
Die Neuesten »