VHDL - Unterschied REM & MOD ?

OP #1071233
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
Gast #1071442
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren