我正在使用的语言(Brightscript)中没有 << 或 >> 运算符。我想创建一个按 c 中 << 和 >> 运算符的方式工作的按位移位函数。以下是正确的,如果不是,有人可以提出更好的方法:
Function ShiftRight(InitNum as float, bitsright as integer) as float
return InitNum / (2 ^ BitsRight)
End Function
function ShiftLeft(InitNum As float, BitsLeft As float) as float
return InitNum * (2 ^ BitsLeft)
End Function
如果这些是正确的,那么等效的函数调用将是什么:
x = (x<<13)
可不可能是
x = shiftleft(x,13)
还是会
for i = 1 to 13
x = shiftleft(x,1)
end for