> -- Цитата:
> Пока что тут не прозвучало слов в защиту или опровержение операций сдвига в противоположную сторону при заданном отрицательном количестве бит.каким образом? Например, в x86 под счетчик сдвигов выделено определенное количество бит в регистре cl, так, чтобы не превысить разрядность слова. То есть для 32 бит, диапазон 0-31, для 64бит, 0-63. Никакого знака нет. Если попытаться использовать большее число, оно просто будет отсечено до нужного количества бит, и результат будет странным. И в процессоре Вирта не случайно присутствуют разные команды для сдвига влево и вправо. Замена сдвига на деление не очень актуальна, так как деление очень медленное, а сдвиг очень быстрый, и как раз наоборот, умножение и деление заменяют на сдвиги где это возможно.