Расскажите плз об этих операциях - << и >>
просто в книжке хреново описано про эти побитовые сдвиги,можете привести реальный пример!!!
>Расскажите плз об этих операциях - << и >>
>просто в книжке хреново описано про эти побитовые сдвиги,можете привести реальный пример!!!
>int t=10;
t <<=1; //получается сдвигаем на разряд влево == умножить на 2 (t==20)
t <<= 8 // умножаем на 256, обнуляем младший байт
>int t=10;
>t <<=1; //получается сдвигаем на разряд влево == умножить на 2 (t==20)
>
>t <<= 8 // умножаем на 256, обнуляем младший байт
Пасибо тперь понял!
т.е когда мы делаем <<= то мы умножаем на степень двойки,которая стоит после =
а когда >>= то соответственно делим!
а где еще кроме как с целыми числами это можно применить?
>а где еще кроме как с целыми числами это можно применить?
как я понимаю из названия этих операций, "битовые", значит и работают с битамм, поэтому не важно, что этими битам представленно int, char или еще что.
имеет ли смысл применять ? это уже другой вопрос :-)
>как я понимаю из названия этих операций, "битовые", значит и работают с
>битамм, поэтому не важно, что этими битам представленно int, char или
>еще что.
>имеет ли смысл применять ? это уже другой вопрос :-)
А ну да,теперь вообще почти все понятно...
вот допустим функция проверки чексуммы
sum = (sum >> 16) + (sum & 0xffff);
sum += (sum >> 16);return (__u16) ~sum;
что здесь делается?как я понял получается 32 разрядное число?