Lsh
- 構文
- (lsh int numbits)
- 機能
- 指定されたビット数だけ整数を論理的にビット シフトした結果を返す。
- 引数
-
- int : 整数。
- numbits : int をシフトするビット数。
- numbits 引数が正の場合、int は左にシフトされる。
- numbits 引数が負の場合、int 引数は右にシフトされる。
- どちらの場合も、シフトの結果として入ってくるビットは 0(ゼロ)で、出ていくビットは破棄される。
- numbits 引数を指定しなかった場合、シフトは行われない。
- 戻り値
- ビット シフト後の int 引数の値。 シフト演算後に符号ビット(ビット 31)が 0(ゼロ)になった場合、戻り値は正になる。1 の場合は負になる。引数を何も指定しなかった場合、 0(ゼロ)を返す。
- 32 より多く左へシフト(32 ビット整数を)した場合、結果が 0になる他の言語(C、C++、Java の >> および <<)とは異なった動作をする。右シフトも同様だが、numbits 引数は、32 で割ったときの剰余とみなされる。
- サンプル
- (lsh 2 1)
- 4
- ---
- (lsh 2 -1)
- 1
- ---
- (lsh 40 2)
- 160
- ---
- (lsh 8 -1)
- 4
- ---
- (lsh 24 3)
- 192
関連事項