De CPU voert zowel rekenkundige als relationele bewerkingen uit, maar ze dienen fundamenteel verschillende doeleinden:
Rekenkundige bewerkingen: Met deze bewerkingen worden berekeningen op numerieke gegevens uitgevoerd. Ze manipuleren getallen om nieuwe numerieke resultaten te produceren.
* Voorbeelden: Optellen (+), aftrekken (-), vermenigvuldigen (*), delen (/), modulus (%), machtsverheffing (** in sommige talen).
* Doel: Numerieke waarden berekenen. Het resultaat is altijd een getal (of een numerieke weergave van iets, zoals een Booleaanse waarde).
* Voorbeeld in C++: `int resultaat =10 + 5;` (optelling) `float quotiënt =20,0 / 3,0;` (deling)
Relationele operators: Deze bewerkingen vergelijken twee waarden en bepalen de relatie daartussen. Ze leveren geen numeriek resultaat op; in plaats daarvan produceren ze een Booleaanse waarde (waar of onwaar).
* Voorbeelden: Gelijk aan (==), Niet gelijk aan (!=), Groter dan (>), Kleiner dan (<), Groter dan of gelijk aan (>=), Kleiner dan of gelijk aan (<=).
* Doel: Om vergelijkingen te maken en de programmastroom te controleren op basis van die vergelijkingen (bijvoorbeeld in 'if'-instructies, lussen).
* Voorbeeld in Python: `x =10; y =5; is_greater =x> y;` (is_greater zal `True` zijn)
Belangrijkste verschillen samengevat:
| Kenmerk | Rekenkundige operatoren | Relationele operators |
|---------------|-----------------------------|------------------------------|
| Type bewerking | Berekening | Vergelijking |
| Invoer | Getallen (gehele getallen, floats, etc.) | Cijfers, strings (afhankelijk van taal) |
| Uitvoer | Numerieke waarde | Booleaanse waarde (waar/onwaar) |
| Doel | Numerieke berekening | Vergelijking en besluitvorming |
In essentie:Rekenkundige operatoren *berekenen* terwijl relationele operatoren *vergelijken*. De rekenkundige logische eenheid (ALU) van de CPU verwerkt beide soorten bewerkingen, maar de bewerkingen zelf en de resulterende gegevens zijn duidelijk verschillend. Relationele operaties zijn cruciaal voor het implementeren van voorwaardelijke logica in programma's. |