Unsigned integer (unsigned int)

Beschrijving
Unsigned integer zijn gegevenstypen voor het opslaan van gehele getallen. Een unsigned int is een integer die niet alleen maar hele getallen opslaat, maar ook alleen maar positieve getallen.

Een unsigned int wordt als een 16-bits (2-byte) waarde opgeslagen. Dit geeft een bereik van 0 tot 65.535. Dit is de kleinste en grootste waarde die een unsigned int kan opslaan. Een unsigned 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 unsigned 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.

Bij een ESP32-DevKitC bord wordt een unsigned int als een 32-bits (4 byte) waarde opgeslagen. Dit geeft een bereik van 0 tot 4.294.967.295.

Syntax
unsigned int var = waarde

Parameters
var: variabelenaam.

waarde: de waarde die je toekent aan die variabele.

Voorbeeld

unsigned long pin1 = 22;
unsigned long tijd = 36453723456;
unsigned long teller = 0;

Toelichting voorbeeld

Hierboven worden 3 variabelen gedefinieerd en wordt er een begin waarde toegekend. ‘pin1’ krijgt de waarde 22 toegekend, ‘tijd’ krijgt de waarde 36453723456 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 unsigned int variabelen hun maximale of minimale waarde overschrijden, treedt er overflow op. Als dit gebeurt is de uitkomst onzeker en kan het programma zelfs vastlopen. Dus je moet er wel voor zorgen dat deze situatie zich niet voordoet.

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