对于按位移位(或旋转、循环)操作,我们通常有一个运算符,我的意思是其中两个,例如
x << n
x >> n
用于按位左移或右移。x
n
我们要定义一个函数
bitshift(x, n)
在此之前,我们必须确定,正负使用哪个移位——每个移位 n
(或旋转)方向的“符号”是什么。
对此有定义或约定吗?
(请注意,这个问题与有符号/无符号类型无关)
更新
另请注意,我不是在询问此功能的实现细节,即使它可能有些相关..
在类似 scheme/lisp 的语言中也有类似的功能,例如ash,它们为正数进行左移n