Diferencia entre revisiones de «unsigned int»

De ArduWiki
Saltar a: navegación, buscar
(Descripción)
(Advertencias)
Línea 49: Línea 49:
  
 
== Advertencias ==
 
== 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 [[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''' o [[word]].
 
* 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'''.
 
* 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.

Revisión del 20:47 24 jul 2019

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).

Tip: Alternativamente puede verse declarado como tipo word o uint16_t, sin embargo funciona exactamente igual.


Nota: La diferencia entre enteros sin signo y enteros con signo o int, 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
size_t variable [= valor];
word variable [= valor];
variable = valorU;

Parametros

variable
nombre de la variable a definir.
valor
numero entre 0 y 4,294'967,295. Parámetro opcional.
valorU
forzar tipo con subfijo U. Puedes omitir unsigned int antes del nombre de la variable.
Posibles formateadores
Base Subfijo Ejemplo
unsigned int U n = 123U
long L n = 123L
unsigned long UL n = 123UL
float F n =12.3F


Posibles formateadores
Base Prefijo Comentario Ejemplo
DEC ninguno Dígitos 0~9 123
HEX 0x dígitos 0~9 + Caracteres A~F 0x7B
OCT 0 digitos 0~7 0173
BIN B 0 o 1 B1110011

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 o word.
  • 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

  bool
  byte
  char
  int
  long
  void
  word


Referencias