Descripción
En el Arduino Uno y otras placas basadas en el ATMEGA, los unsigned ints (enteros sin signo) son lo mismo que los int que almacenan un valor de 2 bytes. En lugar de almacenar números negativos, solo almacenan valores positivos, produciendo un rango de 0 a 65,535 (2^16) - 1).
El ArduinoDue almacena un valor de 4 bytes (32-bit), con un rango de 0 a 4,294,967,295 (2^32 - 1).
La diferencia entre enteros sin signo y enteros con signo, radica en la forma en que se trata el bit más alto, a veces llamado bit de "signo". En el Arduino el tipo int (con signo), si el bit más alto es "1", el número se interpreta como que es un número negativo, y los otros 15 bits se interpretan como complemento matemático a 2.
Example
unsigned int ledPin = 13;
Syntax
unsigned int var = val;
- var - el nombre de nuestra varaible int sin signo
- val - el valor que asignamos a esta variable
Consejo de programación
Cuando las variables superan su máxima capacidad estas se "roll over", es decir, se dan la vuelta y comienzan por el otro extremo, tenga en cuenta que esto sucede en ambas direcciones. Ejemplo para un int de 16-bit:
unsigned int xx = 0;x = x - 1; // x contiene ahora 65535 - rolls over en dirección negativax = x + 1; // x contiene ahoras 0 - rolls over
No hay comentarios:
Publicar un comentario