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


von Stefan Z. (derdespot)


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

von mac4ever (Gast)


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.

von Johannes T. (johnsn)


Lesenswert?

Kurz gesagt von dem was du gelesen hast:

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

Grüße

von Morin (Gast)


Lesenswert?

Lies nochmal :)

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

von Johannes T. (johnsn)


Lesenswert?

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

von Gast (Gast)


Lesenswert?

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

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.