Diferencia entre revisiones de «highByte()»

De ArduWiki
Saltar a: navegación, buscar
(Descripción)
(Advertencias)
Línea 14: Línea 14:
  
 
== Advertencias ==
 
== Advertencias ==
Nada.
+
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 13:03 5 may 2019

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

Referencias