2 Bill: Ну если меня замена знака устраивает, то можно проверить перед сдвигом, и если отрицательное, то инвертировать, сдвинуть и снова инвертировать if (a<0) {b=-a; c=-(b>>6);}?
Что такое асимметричный ответ?
Это когда о тебе негативно отзываются в комментарии, а ты об авторе этого комментария пишешь хорошо и по-доброму: в некрологе!