Java получает первый и последний 2 байта из int var - PullRequest
5 голосов
/ 13 августа 2011

Я хочу преобразовать int в 2 байта, представляющих это int.

Вероятно, необходимо использовать побитовое и битовое смещение, но я не знаю, что делать.

int x; /* val to convert */


// ?????????


int b12; /* the first 2 bytes */
int b34; /* the last  2 bytes */

Ответы [ 2 ]

10 голосов
/ 13 августа 2011
// Shift 16 bits to the right.
int b12 = x >>> 16;

// Zeroes the upper 16 bits.
int b34 = x & 0xffff;
0 голосов
/ 13 августа 2011
int b12 = (x & 0xFFFF);
int b34 = (x >>> 16);
...