Нет необходимости в левом сдвиге с учетом знака, поскольку представление дополнения 2: s сохраняет знак в старшем значащем бите.
Нет разницы между значением, сдвинутым на один бит влево каким-то «знаковым» образом, нет ничего, что вы можете сделать по-другому. Сдвиньте биты влево, вставьте 0 в младший значащий бит, и все готово.
Для чисел со знаком смещение вправо равно , а не , поэтому все четко, поэтому есть два оператора.