Что происходит в данной строке?
((in.read() & 0xFF) << 8 | (in.read() & 0xFF)) //
В первый in.read() поступает 78, во-второй 132
Насколько я понимаю, смещение, но можно по-подробнее? Ну или же где про это почитать?
Ответ
Происходит чтение чего-то - A= 0x......ab (байты A, количество разрядов зависит от определения функции in.read()) Выделяется младший байт A и смещается влево (во второй байт) 0x00ab00 Происходит новое чтение C= 0x......cd (байты C) Выделяется младший байт C и объединяется c предыдущим результатом. Получается 0x00abcd Это целочисленное значение, младшее слово которого содержит оба результата чтения. Для приведённого примера чтения 78 и 132 получится 20100 (78*256+132)
Комментариев нет:
Отправить комментарий