Integer (int)

Beschrijving
Integers zijn gegevenstypen voor het opslaan van gehele getallen.

Deze slaat een int als een 16-bits (2-byte) waarde op. Dit geeft een bereik van -32.768 tot 32.767. Dus dit is de kleinste en grootste waarde die een int kan opslaan. Een int kan ook alleen maar hele getallen opslaan. Bij een getal met een komma slaat hij alleen het deel op dat links van de komma staat, de rest vergeet hij gewoon. Dus als je een waarde van 7,75 aan een int toekent, slaat hij alleen 7 op. Houd hier rekening mee bij rekenkundige functies. Dus 7 gedeeld door 2 is 3 en niet 3,5. Als je deze uitkomst weer met 2 zou vermenigvuldigen, krijg je 6 in plaats van 7.

Het ESP32-DevKitC bord dat ik in de workshops gebruik, slaat een int op als een 32-bits (4-byte) waarde. Dit resulteert in een bereik van -2.147.483.648 tot 2.147.483.647.

Syntax
int var = waarde;

Parameters
var: variabelenaam.

waarde: de waarde die je toekent aan die variabele.

Voorbeeld

int pin1 = 22;
int pin2 = 23;
int duur = 1000;
int teller = 0;

Toelichting voorbeeld

Hierboven worden 4 variabelen gedefinieerd en wordt er een begin waarde toegekend. ‘pin1’ krijgt de waarde 22 toegekend, ‘pin2’ krijgt de waarde 23, ‘duur’ krijgt de waarde 1000 en ‘teller’ krijgt de waarde 0. Neem bijvoorbeeld ‘teller’, deze zou elke keer als er een knop wordt ingedrukt met 1 opgehoogd worden. Zo weet je hoe vaak een knop ingedrukt is.

Opmerkingen en waarschuwingen
Wanneer int variabelen hun maximale of minimale waarde overschrijden, treedt er overflow op. Dit wil zeggen dat als je bij een int variabele met 0 zou beginnen en telt er elke keer 1 bij op. Uiteindelijk bereik je de waarde 32.767 en als je probeert hier 1 bij op te tellen is het resultaat onbekend. Het kan zomaar zijn dat je programma niet meer werkt. Dit geldt ook wanneer je bij 0 begint en er elke keer 1 van af telt. Je bereikt de waarde -32.768 en als je hier 1 van af telt, is het ook onbekend wat er gaat gebeuren. Dus je moet wel controleren of deze situatie zich voordoet.

Het ESP32-DevKitC bord behandelt overflow goed. Het gaat van 2.147.483.647 naar -2.147.483.648 (en anders om). Dit is iets om rekening mee te houden.