私が使用している言語 ( 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