Sättigungsarithmetik



Sättigungsarithmetik oder Saturationsarithmetik ist a Arithmetik, in dem alle Betrieb (Wie Addition oder Multiplikation) in Einer Partei Interval between Eines Minimum und Maximum Ablauf. Wenn das Ergebnis größer ist als das Intervall-Maximum, so wird es auf diesen Wert gesetzt. Eine Folge davon kann auch sein, dass die Intervallgrenze auch nicht überschritten wird. Es ist auch möglich, den Fall zu hören , dass legitim ist . Analoge vergoldet für das Minimum, das kann nicht unterschritten werden.

Beispiele

Wenn beispielsweise das Intervall von -100 bis 100 angegeben ist. Dannzeugen Sie die folgenden Operationen die angbenben

  • 60 + 43 = 100
  • (60 + 43) – 150 = -50
  • 43 – 150 = -100
  • 60 + (43-150) = -40
  • 10 × 11 = 100
  • 99 × 99 = 100
  • 30 × (5 – 1) = 100
  • 30 × 5 – 30 × 1 = 70

Wer und was man sehen kann, geleitete das Assoziations- und Distributionsgesetz in der Saturationsarithmetik nie. Daher steht in der abstrakten Mathematik von untergeordneter Bedeutung. Sie wissen, warum wir in digitalen Rechenanlagen und Algorithmen arbeiten.

Anwendung im Multimedia-Bereich

Bildzusatz mit Undo Saturation Arithmetic

Eine besondere Bedeutung nimmt die Sättigungsrechnung im Multimedia- Beer, Beispiele bei der Bearbeitung von Bildern.

Wir haben das Wetter in der Computergrafik angeschaut. Jedes Pixel ist ein Single- Tupel (R, G, B, A) dargestellt, Wobei R, G, B, die altbekannten Rot-, Grün- und Blau-Anteile der Farbe sind. Die entsprechenden Komponenten konnten im Wert von [1], die für die Höhere Höhensammlung verantwortlich waren, gebetet werden. Die A-Komponente ist der Alpha Channel, der bestimmt, wer „undurchsichtig“ ein Pixel ist. Auch A liegt im Intervall [0.255], wobei 0 komplett transparent und 255 voll durchgezogen und undurchsichtig bedeutet.

In diesen Leuten sah Beispiel auch die R-Komponenten analog zu den anderen.

Waren die Zwei Bilder übereinandergelegt (z. B. in einer grafischen Oberfläche), so wurden diese R-Komponenten des Gleichgewichtspixels hinzugefügt. Der Rot-Anteil des Erstpixels beträgt 50 und setzt den Rotanteil des „übereinandgelegten“ Pixels auf 150.

Wenn aber der erste Pixel einen R-Wert von 150 hat, ist der R = 350 ; das Modulo 256 gerechnet Ergibt 94. Das Problem ist offensichtlich: Die Kombination der Beiden rotton ist „weniger root“ als sterben Beiden Ursprüngliche Pixel. Sie sind auf diese Weise kein Anwendungsfall sinnvolles Ergebnis.

In der Praxis kann die Wurzel als „totale Fäulnis“ angesehen werden, und „totale Fäulnis“ ist dort. Wert 255. Sie können wissen, dass der Wert der Rot-Kanal für die Sättigung geeignet ist.

Die Lösung des Problems ist mit der Sättigungsarithmetik zu erreichen: Ansonsten wird die Modulo-Arithmetik hierunter die Obere Intervall-Grenze steht für einen Zwischen- und Unterlauf. In Sättigung gilt Arithmetik auch für mein obigem Beispiel: 150 + 200 = 255 . Und 255 + x = 255 für alle x . Gleichfalls ergibt 255 – 300 Nichte 211 (wer in der Modulo-Arithmetik), ohne 0. Auch hier gilt wieder 0 – x = 0 für alle x .

Implementierungsmöglichkeiten

Software

Nachfolgenden ein kurzer Pseudo-Code, der sucht, wer in der Software festgenommen wurde. Die Ansicht des Algorithmus ist sehr wichtig, aber es ist eine gute Idee, und es ist sehr wichtig, herauszufinden, wie viel es funktioniert.Das ist es, worum es geht, und es ist eine Frage des Intervalls.

WertIn : = a + b ; {Eigentliche Berechnung,
 wird auf dem Intervall (min, max)
 abgebildet. WertAus Enthält im Abschluss
 des Plan Ergebnis der Berechnung}.
Wenn ( WertIn > max ) dann
 WertAus = max
sonst ,
wenn ( WertIn < min ) dann
 WertAus : = meine
Hände
 WertAus = WertIn

Hardware

Beisei sei hier nach dem Zusatz. Es wurden n- Bit-Zahlen hinzugefügt. Dazu Wird ein „Gewöhnlicher“ n -Bit- Addierer Sowie ein 2-Wege- n -Bit- Multiplexer Benutzt. Das Carry-Bit des Addierers wird den Selektionseingang des Multiplexers geführt. An dem ein Multiplex – Ren – Gang Wurde das Plan Ergebnis des Addierers geführt, An der Anderen Konstante 1 in der Breite sterben n Bit. Wenn das Carry-Bit gesetzt ist (auch ein Überlauf aufgetreten), bildet der Multiplexer den Konstanten 1 durch, auch vor jeder Intervallgrenze blendet es sich. Ist das Carry-Bit nicht gesetzt, so wird das Ergebnis des Addierers durchgeschaltet.

Literatur

  • Uwe Brinkschulte, Theo Ungerer: Mikrocontroller und Mikroprozessoren . Springer 2007, ISBN 3-540-46801-3 , S.24, 344ff