PDA

View Full Version : [JAVA] interpretare un intero senza segno


leon84
16-04-2007, 12:09
Salve,
leggo da un buffer 4 byte e li assegno ad un intero. Ma essendo il java l'intero con segno me li interpreta in complemento a 2.

Come posso fare per interpretare quel valore in modalità unsigned ?

andbin
16-04-2007, 12:15
Salve,
leggo da un buffer 4 byte e li assegno ad un intero. Ma essendo il java l'intero con segno me li interpreta in complemento a 2.

Come posso fare per interpretare quel valore in modalità unsigned ?Non puoi ... metti i 4 byte nella parte bassa di un long.

leon84
16-04-2007, 12:34
Non puoi ... metti i 4 byte nella parte bassa di un long.

In che modo ?

Se provo a fare un'assegnazione classica ovviamente mi mantiene il segno

andbin
16-04-2007, 12:47
In che modo ?

Se provo a fare un'assegnazione classica ovviamente mi mantiene il segnoUna cosa del tipo:
long l = (((long) b1) & 255) << 24 |
(((long) b2) & 255) << 16 |
(((long) b3) & 255) << 8 |
(((long) b4) & 255);

PGI-Bis
16-04-2007, 13:15
Se aggiungi 128 non è uguale e meno intricato? Tipo:

int valore = byte + 128;