Reference   Language (extended) | Libraries | Comparison | Changes

Integer Constants

Integer Constants son números utilizados directamente en un sketch, como 123. Por defecto, éstos números son tratados como int, pero puedes cambiarlo con las letras U y L (ver abajo).

Normalmente, las constantes integer son tratadas como enteros base 10 (decimales), pero se puede utilizar notación especial (formateadores) para ingresar números en otras bases.

Base			Ejemplo  	Formateador		Comentario

10 (decimal)           	    123		Ninguno.

2 (binario)            B1111011		Antecede "B"		Sólo funciona con valores de 8 bits (0 to 255).
                                               			Caracteres 0-1 válidos.

8 (octal)            	   0173		Antecede "0" 		Caracteres 0-7 válidos.

16 (hexadecimal)    	   0x7B		Antecede "0x"		Caracteres 0-9, A-F, a-f válidos.    

Decimal es base 10. Esta es la matemática de sentido común con que se conocen. Para constantes sin otros prefijos, se asume el formato decimal.

Ejemplo:
101     // igual a 101 decimal   ((1 * 10^2) + (0 * 10^1) + 1)


Binary es base dos. Sólo caracteres 0 y 1 son válidos.

Ejemplo:
B101    // igual a 5 decimal   ((1 * 2^2) + (0 * 2^1) + 1)

El formateador binario sólo funciona en bytes (8 bits) entre 0 (B0) y 255 (B11111111). Si resulta conveniente ingresar un entero (int, 16 bits) de forma binaria, puedes hacer un procedimiento de dos pasos, como a continuación:

valorInt = (B11001100 * 256) + B10101010;    // B11001100 es el ''byte'' alto.

Octal es base ocho. Sólo caracteres de 0 hasta 7 son válidos. Los valores Octales son indicados por el prefijo "0"

Ejemplo:

0101    // igual a 65 decimal   ((1 * 8^2) + (0 * 8^1) + 1) 
Atención
Es posible generar un bug o error difícil de encontrar al incluír (de forma involuntaria) un cero antecediento una constante, logrando así que el compilador interprete tu constante como octal.


Hexadecimal (ó hex) es base dieciséis. Los caracteres válidos son del 0 al 9, y las letras desde la A hasta la F; A tiene el valor de 10, B es 11, C es 12, D es 13, E es 14, y la F, como ya habrás adivinado, es 15. Los valores hexadecimales se indican con el prefijo "0x". Nota que los valores de la A a la F, pueden ser escritos en mayúscula o minúscula.

Ejemplo:

0x101   // igual a 257 decimal   ((1 * 16^2) + (0 * 16^1) + 1)

Formateadors U & L

Por defecto, una constante en enteros es tratada como int con las limitaciones concomitantes en los valores. Para especificar una constante en enteros con otro tipo de datos, continúala con:

  • una 'u' ó 'U' para forzar la constante a un formato de datos unsigned. Ejemplo: 33u
  • una 'l' ó 'L' para forzar la constante a un formato de datos long. Ejemplo: 100000L
  • un 'ul' ó 'UL' para forzar la constante a un formato de datos unsigned long. Ejemplo: 32767ul


Ver También

Página principal Referencia

Correcciones, sugerencias, y nueva documentación deberán ser publicadas en el Foro (castellano) o en el Foro (inglés).

El texto de la referencia de Arduino está publicado bajo la licencia Creative Commons Reconocimiento-Compartir bajo la misma licencia 3.0. Los ejemplos de código de la referencia están liberados al dominio público.

Share