[JAVA] Zabawa z tablicą bajtów

Witam

Mam dajmy na to tablice trzech bajtów:

byte[] data = new byte[3];

Czyli 24 bity, np:

Sztuczka na rozbicie bajta do Stringa z bitami:

byte b = 2;
Integer.toBinaryString(b & 0xFF); // "10"

 

Dzięki, to jest jedyny sposób? Troche to nie “eleganckie” :stuck_out_tongue:

zakładając że data[2] to pierwszy bajt najbardziej na lewo to można tak:

int a = (data[2] >> 7) & 0x01;
int b = (data[2] >> 4) & 0x07;
int c = ((int)data[0] & 0xff) + (((int)data[1] & 0xff) << 8) + (((int)data[2] & 0x0f) << 16);