Eine Möglichkeit, den Unterschied zu sehen, ist eine schnelle Simulation in einem Prüfstand, z Beispiel mit einem Prozess wie folgt:
%Vor%Es zeigt das Ergebnis zu sein:
%Vor%Wikipedia - Modulo-Operation hat eine ausführliche Beschreibung, einschließlich der Regeln:
n
in a mod n
a
in a rem n
Der Operator mod
gibt den Rest für eine Division, die abgerundet wird (floored division), also a = floor_div(a, n) * n + (a mod n)
. Der Vorteil ist, dass a mod n
ein wiederholter Sägezahngraph ist, wenn a
sogar durch Null ansteigt, was in einigen Berechnungen wichtig ist.
Der Operator rem
gibt den Rest für die reguläre ganzzahlige Division a / n
, die auf 0 schrumpft (abgeschnittene Division), also a = (a / n) * n + (a rem n)
.
Tags und Links vhdl