ビット単位のシフト(または回転、循環)操作の場合、通常は演算子があります。たとえば、そのうちの2つを意味します。
x << n
x >> n
ビット単位の左または右シフト用。x
n
単一の関数を定義したい
bitshift(x, n)
その前に、正と負 n
のどちらのシフトを使用するか、つまり各シフト(または回転)方向の「符号」を決定する必要があります。
そのための定義や慣習はありますか?
(この質問は符号付き/符号なしタイプとは関係がないことに注意してください)
更新
また、多少関連しているかもしれませんが、この関数の実装の詳細は求めていません。
ashのようなscheme/lispのような言語にも同様の関数があり、正の方向に左シフトしますn