Diferencia entre revisiones de «highByte()»
De ArduWiki
(→Descripción) |
(→Advertencias) |
||
Línea 14: | Línea 14: | ||
== Advertencias == | == 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. | |
+ | |||
+ | <pre> | ||
+ | long val = 0x11223344; | ||
+ | highByte(val); //33 | ||
+ | lowByte(val); //44 (LSB) | ||
+ | </pre> | ||
== Ejemplo == | == Ejemplo == |
Revisión del 17:03 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
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
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 (&=)