La meilleure façon de faire de manipulation de bits/octets non signés est grâce à l'aide d' ints. Même s'ils sont signés, ils ont beaucoup de rechange bits (32 au total) à traiter comme un octet non signé. Aussi, tous les opérateurs mathématiques convertira petite précision fixe numéros pour int. Exemple:
short a = 1s;
short b = 2s;
int c = a + b; // the result is up-converted
short small = (short)c; // must cast to get it back to short
De ce fait, il est préférable de simplement coller avec entier et d'un masque pour obtenir les bits qui vous intéressent. Exemple:
int a = 32;
int b = 128;
int foo = (a + b) | 255;
Voici quelques infos sur les types primitifs de Java http://mindprod.com/jgloss/primitive.html
Une dernière remarque triviale, il y a un unsigned précision fixe nombre de Java. C'est le char primitive.