В C ++ нет.Это зависит от реализации и / или платформы.
В некоторых других языках, да.В Java, например, оператор >> точно определен, чтобы всегда заполнять, используя самый левый бит (тем самым сохраняя знак).Оператор >>> заполняется с использованием 0s.Так что, если вам нужно надежное поведение, одним из возможных вариантов будет переход на другой язык.(Хотя, очевидно, это не может быть вариантом в зависимости от ваших обстоятельств.)