Tutto ciò che devo fare è convertire un array a due byte senza segno in un numero intero. Lo so, lo so, Java non ha tipi di dati non firmati, ma i miei numeri sono in falsi byte senza segno.Byte Java non firmato [2] su int?
byte[] b = {(byte)0x88, (byte)0xb8}; // aka 35000
int i = (byte)b[0] << 8 | (byte)b[1];
Il problema è che non si converte correttamente, perché pensa byte quelli sono firmati ... Come faccio a riconvertirlo in un int?
Converti in int e quindi esegui lo spostamento. – Apurv
Non è realmente duplicato. La domanda collegata è di circa 2 byte per i byte int non non firmati. Puoi dedurre che devi anche mascherare il primo byte della prima risposta, ma non è affatto ovvio. Non capisco come avrebbero potuto contrassegnare questa risposta come duplicata. È controllato prima di accettarlo? Possiamo segnalarlo? – BaptisteL