правое смещение для отрицательных чисел - PullRequest
3 голосов
/ 23 сентября 2019

В случае целого числа без знака u мы можем легко получить частное с помощью u>>k (k означает деление на 2 ^ k)

Но в случае отрицательных чисел его следует вычислять как (u+(1<<k)-1)>>k

Я вижу, что u>>k не работает для отрицательных чисел.

Но мне любопытно, почему нам точно нужно добавить (1<<k)-1 к u

Любые объяснения могут быть действительно полезны.

...