Diferencia entre revisiones de «highByte()»
De ArduWiki
(→Advertencias) |
(→Ejemplo) |
||
Línea 22: | Línea 22: | ||
</pre> | </pre> | ||
− | == Ejemplo == | + | == Ejemplo 1 == |
<syntaxhighlight lang="c++"> | <syntaxhighlight lang="c++"> | ||
int n = 12345; | int n = 12345; | ||
Línea 31: | Línea 31: | ||
z <<= 8; //Desplazamos 8 bits a la izquierda | z <<= 8; //Desplazamos 8 bits a la izquierda | ||
z |= val2; //Añadimos LSB | z |= val2; //Añadimos LSB | ||
+ | </syntaxhighlight> | ||
+ | |||
+ | == Ejemplo 2 == | ||
+ | <syntaxhighlight lang="c++"> | ||
</syntaxhighlight> | </syntaxhighlight> | ||
Revisión del 17:52 5 may 2019
Contenido
Descripción
Extrae el byte de orden superior (MSB) en int o el segundo byte más bajo de un tipo de datos más grande como long.
Sintaxis
highByte(variable);
Parámetros
- variable
- variable a evaluar que deberá ser int, long, float, unsigned int o unsigned long
Retornos
Retorna byte mas significativo.
Advertencias
Cuidado al trabajar con tipo long que es de 4 bytes, porque highByte() se refiere al que esta a la izquierda del LSB y no se refiere al MSB.
long val = 0x11223344; highByte(val); //33 lowByte(val); //44 (LSB)
Ejemplo 1
int n = 12345;
byte val1 = highByte(n);
byte val2 = lowByte(n);
int z;
z = val1; //Tomamos MSB
z <<= 8; //Desplazamos 8 bits a la izquierda
z |= val2; //Añadimos LSB
Ejemplo 2
Vea también
- bit()
- bitClear()
- bitRead()
- bitSet()
- bitWrite()
- bitshift left - (<<)
- bitshift right - (>>)
- lowByte()
- shiftIn()
- shiftOut()
- or bit a bit compuesto (|=)
- and bit a bit compuesto (&=)