Diferencia entre revisiones de «highByte()»

De ArduWiki
Saltar a: navegación, buscar
(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 13:52 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 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

Referencias