Signed integers vergelijken
-
Gepubliceerd in Elektor nummer 501, juli 2005
Af en toe is het nodig om 2 signed integers met elkaar te vergelijken. Helaas komt het wel eens voor dat de programmeertaal alleen unsigned integers ondersteunt. Dit probleem deed zich voor bij een ontwerp in Verilog. Deze taal heeft een directe manier om twee unsigned integers te vergelijken. Met vergelijken wordt hier bedoeld, controleren of integer A groter of kleiner dan integer B is, of gelijk. Na enig gepieker over een efficiënte oplossing hebben we daarop het volgende gevonden: Door van 2 signed integers het MSB (Meest Significante Bit) te inverteren, kunnen beide als unsigned integers vergeleken worden met een correct resultaat. "Hoe kan dit?", zult U zich nu afvragen. De oplossing is simpel.
|
Klik hieronder om dit artikel en/of print layout te downloaden als PDF.
Let op: bij oudere projecten kunnen we niet garanderen dat alle onderdelen leverbaar zijn.
|