I küçük endian bir ByteArray (içerik []) ve 2 byte değer yeniden oluşturmak için gereken kodJava bit düzeyinde çalışma
int b1 = 0xffff & (content[12]<<8 | 0xff & content[11]);
bu hattı vardır. Bu kod ben bu
int b1 = 0xffff & (content[12]<<8 | content[11]);
gibi yazmıştı ve sonuç doğru değildi sadece iyi ama testten önce işi yapar. Sorum şu, bu senaryoda neden 0xff gerekli?
bayt imzalı tamsayı olarak yorumlanır ve bu örneğin, o (bayt) 0x80 (int) 0xffffff80 alır demektir çünkü. Buna işaret uzantısı denir. Yanıt için – Ingo