シフト演算子である<<とか>>はMUGENに用意されてないので、別の方法でできないかなー、とか考えてました。基本右シフトは2で割る、左シフトは2を掛けると考えられるので、とりあえず2の累乗倍で掛けたり割ったりすればいいかなと思ったのですが、どうも負数だともうちょい考えないと無理っぽい。
とゆーのもirbで
irb(main):004:0> -42 >> 3
=> -6
- 42 >> 3 (3bit right shift) = -5
となったので。
あとビット演算子でのNOTに「~」があるらしいですが、なんか「malformed expression」とか言われて使えないんですが。
追記 負数の右シフト方法
こうすればできるっぽい
((-789 ^ -1) / 16) ^ -1 ; ==> -50
^ (XOR) 演算子を使って-1 (全ビット1) と排他的論理輪を行うと、ビット反転をさせることが出来るのでその状態で通常の右シフト。そしてさいごにもう一回反転させて符号ビットを再現…でいいらしい。もうチョイいい方法求む。