Попытка кое-что прояснить.
Насколько я понимаю, в отношении арифметических, логических побитовых сдвигов:
<<
работают одинаково для обоих >>
сдвиги отличаются тем, что логический сдвиг всегда дополняет байт 0, тогда как арифметический сдвиг дополняет его знаковым битом. Как я могу отличить это с помощью C?
Насколько я понимаю, фактические операторы одинаковы <<
, >>
Чем отличаются команды между:
int i=1;
printf ("%d\n", i >> 1); // logical shift
int j=1;
printf ("%d\n", j >> 1); // arithmetical shift
Дайте мне знать,