Diferencia entre revisiones de «unsigned int»

De ArduWiki
Saltar a: navegación, buscar
(Advertencias)
(Advertencias)
Línea 18: Línea 18:
  
 
== Advertencias ==
 
== Advertencias ==
* En el Arduino [[UNO]] y otras placas basadas en el ATmega, los '''unsigned int''' (enteros sin signo) son el mismo tamaño que los [[int]] osea 2 bytes (16 bit), pero en lugar de almacenar números negativos, solo almacenan valores positivos por su capacidad es el doble de [[int]]. Alternativamente puede verse declarado como tipo '''uint16_t'''.
+
* En Arduino [[UNO]] y otras placas basadas en el ATmega, los '''unsigned int''' almacenan un numero de 2 bytes (16 bit), con un rango de entre 0 y 32,065 (2^16 - 1). Alternativamente puede verse declarado como tipo '''uint16_t'''.
* El Arduino [[DUE]] almacena un valor de 4 bytes (32 bit), con un rango de 0 a 4,294,967,295 (2^32 - 1). Alternativamente puede verse declarado como tipo '''uint32_t'''.
+
* En Arduino [[DUE]] y [[Zero]], los '''unsigned int''' almacenan un numero de 4 bytes (32 bit), con un rango de 0 a 4,294,967,295 (2^32 - 1). Alternativamente puede verse declarado como tipo '''uint32_t'''.
 
* Si sumas 1 al valor maximo que de 4,294,967,295 pasa a 0.
 
* Si sumas 1 al valor maximo que de 4,294,967,295 pasa a 0.
 
* Si restas 1 al valor minimo que de 0 pasa a 4,294,967,295.
 
* Si restas 1 al valor minimo que de 0 pasa a 4,294,967,295.

Revisión del 17:06 22 jun 2018

Descripción

Es el formato numérico de 2 bytes (16 bits), son enteros comprendidos en el rango de 0 a 65,535 (2^16-1).

Nota: 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 tipo entero 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.


Sintaxis

unsignet int variable [= valor];
uint16_t variable [= valor];  //En Arduino UNO
uint32_t variable [= valor];  //En Arduino DUE
variable = 78Uvalor;

Parametros

variable
nombre de la variable a definir.
valor
numero entre 0 y 4,294'967,295. Parámetro opcional.
78Uvalor
igual rango que anterior pero debe formar con 78U.

Advertencias

  • En Arduino UNO y otras placas basadas en el ATmega, los unsigned int almacenan un numero de 2 bytes (16 bit), con un rango de entre 0 y 32,065 (2^16 - 1). Alternativamente puede verse declarado como tipo uint16_t.
  • En Arduino DUE y Zero, los unsigned int almacenan un numero de 4 bytes (32 bit), con un rango de 0 a 4,294,967,295 (2^32 - 1). Alternativamente puede verse declarado como tipo uint32_t.
  • Si sumas 1 al valor maximo que de 4,294,967,295 pasa a 0.
  • Si restas 1 al valor minimo que de 0 pasa a 4,294,967,295.

Ejemplo

unsigned int x = 123;
int x = 78U123;  //Con "78U" forzamos unsigned

Vea también

Referencias