En digital komparator eller kodkomparator är en logisk enhet med två ordboksingångar, till vilken två olika binära ord av lika längd i bitar tillförs och vanligtvis med tre binära utgångar, till vilken ett tecken på jämförelse av ingångsorden ges - det första ordet är större än sekunden, mindre eller så är orden lika. Samtidigt är utgångarna "större än", "mindre än" meningsfulla om inmatningsorden kodar siffror i en eller annan maskinrepresentation.
Ofta har digitala komparatorer inte "större än", "mindre än"-utgångar, utan bara en "lika med"-utgång.
Den kan byggas på logiska element, vars funktion är baserad på en mängd olika fysiska principer, men moderna komparatorer är vanligtvis elektroniska halvledarenheter som arbetar i binär logik.
Branschjämförare produceras i form av färdiga komponenter - mikrokretsar med olika längder på jämförda ord och andra parametrar. Exempel på digitala komparatorchips: CMOS-logik - 4063 och 4585, TTL - 7485 och 74682-89 och många andra.
Komparatorer används ofta inom datorteknik, mätteknik, radio- och trådkommunikation och hushållsapparater. Till exempel innehåller en digital klocka med en väckarklocka en digital komparator; om den aktuella tiden sammanfaller med den inställda hörs en ljudsignal.
Den analoga motsvarigheten till en digital komparator är en analog spännings- eller strömkomparator . Vissa mikrokontroller har inbyggda analoga ingångskomparatorer, vars tillstånd för utgångarna kan läsas av kontrollprogrammet eller orsaka att det avbryts av en subrutin.
Tänk till exempel på två 4-bitars ord och låt dessa ord vara några naturliga tal representerade i binärt, där den 3:e biten är den mest signifikanta:
,Här representerar varje sänkt bokstav en av bitarna i siffrorna.
Jämlikhet (ekvivalens)Binära tal och kommer att vara lika om alla par av motsvarande bitar av båda talen är lika, det vill säga:
, , och .I binär notation av tal är deras siffror antingen 0 eller 1. Den booleska funktionen för likhet mellan två siffror och (här den logiska operationen "ELLER" betecknas med symbolen och "OCH" med punktsymbolen) kan uttryckas som:
.Det är lika med 1 endast om och är lika.
För likhet och måste alla funktioner (för i = 0, 1, 2, 3) vara lika med 1.
Därför är tecknet på jämlikhet och skrivs som en logisk funktion som
.En binär funktion är lika med 1 endast om alla siffror i två tal är lika.
Ojämlikhet (icke-ekvivalens)För att bestämma det största av två binära tal, betraktar vi förhållandet mellan storlekarna av par av signifikanta siffror, med början från de mest signifikanta bitarna till de minst signifikanta bitarna, tills en olikhet hittas vid någon position. När en olikhet hittas, om motsvarande bit är 1 och samma bit är 0, antar vi att .
Denna sekventiella jämförelse kan uttryckas i booleska uttryck som:
, .och är utgående binära variabler som är lika med 1 när respektive .
Som exempel ges sanningstabellerna för de triviala enbitars och tvåbitars komparatorerna.
Den logiska funktionen för en enbits digital komparator beskrivs av en sanningstabell:
Ingångar | utgångar | |||
---|---|---|---|---|
0 | 0 | 0 | ett | 0 |
0 | ett | ett | 0 | 0 |
ett | 0 | 0 | 0 | ett |
ett | ett | 0 | ett | 0 |
Sanningstabell för en två-bitars komparator:
Ingångar | utgångar | |||||
---|---|---|---|---|---|---|
0 | 0 | 0 | 0 | 0 | ett | 0 |
0 | 0 | 0 | ett | ett | 0 | 0 |
0 | 0 | ett | 0 | ett | 0 | 0 |
0 | 0 | ett | ett | ett | 0 | 0 |
0 | ett | 0 | 0 | 0 | 0 | ett |
0 | ett | 0 | ett | 0 | ett | 0 |
0 | ett | ett | 0 | ett | 0 | 0 |
0 | ett | ett | ett | ett | 0 | 0 |
ett | 0 | 0 | 0 | 0 | 0 | ett |
ett | 0 | 0 | ett | 0 | 0 | ett |
ett | 0 | ett | 0 | 0 | ett | 0 |
ett | 0 | ett | ett | ett | 0 | 0 |
ett | ett | 0 | 0 | 0 | 0 | ett |
ett | ett | 0 | ett | 0 | 0 | ett |
ett | ett | ett | 0 | 0 | 0 | ett |
ett | ett | ett | ett | 0 | ett | 0 |