mikrocontroller.net

Forum: FPGA, VHDL & Co. VHDL - Unterschied REM & MOD ?


Autor: Stefan Z. (derdespot)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Leute,
eine Frage zu Operatoren. Worin besteht der Unterschied ziwschen dem mod 
und dem rem Operator? Ich habe folgendes gelesen:

Der Remainder-Operator (a REM b) berechnet den Rest bei einer 
Integerdivision, so daß gilt: a = (a/b)*b + (a REM b)
(a REM b) hat das Vorzeichen von a und einen absoluten Wert, der
kleiner als der absolute Wert von b ist.

Der Modulo-Operator (a MOD b) berechnet den Rest bei einer 
Integerdivision,
so daß gilt: a = int_value*b + (a MOD b)
(a MOD b) hat das Vorzeichen von b und einen absoluten Wert, der
kleiner als der absolute Wert von b ist.

Also die Gleichung vom Moulo Operator ergibt sinn. Aber was bringt mir 
die Gleichung vom rem-Operator?

z.B.:

a = 43
b = 3
(a rem b)
(43 rem 3)

a = (a/b)*b + (a REM b)
(a REM b) = a - ((a(b)*b) = 0
Rest = 43 - ((43/3)*3) = 0
Der Rest ist in jedem Fall 0!

Könnt ihr mit Helfen?

Grüße Stefan

Autor: mac4ever (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi, ich habe gerade in einem anderen Forum etwas dazu gefunden:

5 mod 3 = 2
(-5) mod 3 = 1
5 mod (-3) = -1
(-5) mod (-3) = -2

5 rem 3 = 2
(-5) rem 3 = -2
5 rem (-3) = 2
(-5) rem (-3) = -2

Wie Du siehst, besteht der Unterschied bei der Behandlung von negativen 
Argumenten.

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kurz gesagt von dem was du gelesen hast:

a mod b : positiver Rest
a rem b : Rest hat Vorzeichen von a

Grüße

Autor: Morin (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies nochmal :)

a mod b : Rest hat Vorzeichen von b
a rem b : Rest hat Vorzeichen von a

Autor: Johannes T. (johnsn)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Morin wrote:
> a mod b : Rest hat Vorzeichen von b
Ja, da hatter Recht!

Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
oder wie wir in der 9. Klasse gelernt haben:
REM (a/b) = a MOD b * SGN (a/b)

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.