Unsigned long integer (unsigned long)

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

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

Een unsigned long en unsigned int hebben bij een ESP32-DevKitC bord hetzelfde bereik.

Syntax
unsigned long 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 long 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.