Wszystko, co muszę zrobić, to przekonwertować niepodpisaną tablicę bajtową na liczbę całkowitą. Wiem, wiem, Java nie ma niepodpisanych typów danych, ale moje liczby są w udawanych, niepodpisanych bajtach.Java unsigned byte [2] to int?
byte[] b = {(byte)0x88, (byte)0xb8}; // aka 35000
int i = (byte)b[0] << 8 | (byte)b[1];
Problem jest to, że nie konwertuje poprawnie, ponieważ uważa, że te są podpisane bajtów ... Jak mogę przekonwertować go z powrotem do int?
Konwertuj na int, a następnie wykonaj przesunięcie. – Apurv
To naprawdę nie jest duplikowane. Połączone pytanie to około 2 bajty na int niepodpisane bajty. Możesz wywnioskować, że musisz maskować pierwszy bajt od pierwszej odpowiedzi, ale to wcale nie jest oczywiste. Nie rozumiem, jak mogli oznaczyć tę odpowiedź jako zduplikowaną. Czy sprawdzono przed zaakceptowaniem? Czy możemy to zgłosić? – BaptisteL