Diferencia entre revisiones de «word»
De ArduWiki
(→Parámetros) |
(→Advertencias) |
||
Línea 36: | Línea 36: | ||
== Advertencias == | == Advertencias == | ||
* En Arduino [[UNO]] y otras placas ATmega, '''word''' es equivalente a [[unsigned int]] porque ambos son de 2 bytes (16 bit). | * En Arduino [[UNO]] y otras placas ATmega, '''word''' es equivalente a [[unsigned int]] porque ambos son de 2 bytes (16 bit). | ||
− | * En Arduino [[DUE]] y [[Zero]], '''word''' es diferente a [[unsigned int]] que es | + | * En Arduino [[DUE]] y [[Zero]], '''word''' de 4 bytes (32 bit) por lo que es diferente a [[unsigned int]] que es 2 bytes (16 bits). |
== Ejemplo == | == Ejemplo == |
Revisión del 16:19 30 abr 2019
Contenido
Descripción
word (palabra) almacena un número entero de 2 bytes (16 bits) sin signo; en otras palabras, comprende el rango de 0 a 65,535 (2^16-1). Alternativamente puede verse declarado como tipo unsigned int o uint16_t, sin embargo funciona exactamente igual.
Nota: * word es prácticamente el tipo de dato universal para declarar variables de 2 bytes (16 bits); ya que, independientemente de la arquitectura del uC, siempre será de dicho tamaño.
Sintaxis
word variable [= valor]; uint16_t variable [= valor]; unsigned int variable [= valor]; variable = valorU;
Parámetros
- uint16_t
- Sinonimo de word y unsigned int.
- variable
- nombre de la variable.
- Valor
- Valor a asignar entre 0 y 65,535. Parámetro opcional.
- valorU
- Forzar valor de este tipo de dato. Puedes omitir el tipo.
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 | B1111011 |
Comentario
word es lo mismo que unsigned int y se prefiere este ultimo.
Advertencias
- En Arduino UNO y otras placas ATmega, word es equivalente a unsigned int porque ambos son de 2 bytes (16 bit).
- En Arduino DUE y Zero, word de 4 bytes (32 bit) por lo que es diferente a unsigned int que es 2 bytes (16 bits).
Ejemplo
El valor está expresado en hexadecimal, equivale a 32,768 (es justamente la mitad entera más uno de 65,535).
word x = 0x8000; //32768
uint16_t x = 32768;
x = 32768U;
Vea también
- char
- byte
- int
- long
- float
- double - solo MEGA
- unsigned int
- unsigned long