Alguien puede explicarme el siguiente codigo y como funciona
Código:
necesito pasarlo a c# pero mis conocimientos en java son muy limitados y me cuesta entender este codigoint a=((b[20]&0xff)<<8); a+=(b[21]&0xff); int a2=(a&0xFC00)>>10; //status 6 bit int a1=a&0x03ff; //compas 10 bit double heading = (double)a1; Print.logInfo("status: "+ a2 +" compass: " + heading);
b es una areglo de bytes en exadecimal, y necesito pasar el exadecimal a binario
pero el binario debe ser de 8 caracteres
(lo hice en c#) pero no me da el mismo resultado.
mi codigo en c# como ejemplo hace lo siguiente transforma 0x05 en 101
si le pongo una mascara queda 00000101 pero parece que mi resultado es erroneo segun el codigo que pegue encima.