образом, читается два байта и в return uint16(b[0] | uint16(b[1]) << 8
может кто-то объясить, что это значит?) не разбираюсь в сдвигах итп. для чего это нужно, либо что мне нужно почитать
Нужно почитать, как работают побитовые операции для начала.
Если битовые операции не понятны, то можно записать вот так 0x100*b[1]+b[0]. Здесь старший байт - b[1]. То есть при b[0] = 0b00001111 и b[1] = 0b10001000 на выходе получишь 0b1000100000001111 . Понятно что это значит или нужно расписать?
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=2fead35363eb52b506bccfbaa9251de2 Попробуй поиграться с этим
Ещё там есть нюансы на счёт сдвигов для чисел со знаком. Рекомендую попробовать найти в чём фишка самостоятельно. В качестве упражнения так сказать.
да, понимаю, они объединяются грубо говоря
Обсуждают сегодня