lsh (AutoLISP)

指定されたビット数だけ整数を論理的にビット シフトした結果を返します。

サポートされているプラットフォーム: Windows および Mac OS

構文と要素

(lsh int numbits)
int

タイプ: 整数型

数値

numbits

タイプ: 整数型

int をシフトするビット数。

numbits 引数が正の場合、int は左にシフトされます。numbits 引数が負の場合、int 引数は右にシフトされます。どちらの場合も、シフトの結果として入ってくるビットは 0(ゼロ)で、出ていくビットは破棄されます。

numbits 引数を指定しなかった場合、シフトは行われません。

戻り値

タイプ: 整数型

ビット シフト後の int 引数の値。シフト演算後に符号ビット(ビット 31)が 0(ゼロ)になった場合、戻り値は正になります。1 の場合は負になります。引数を何も指定しなかった場合、lsh 関数は 0(ゼロ)を返します。

32 より多く左へシフト(32 ビット整数を)した場合、結果が 0(ゼロ)になる他の言語(C、C++、Java の >> および <<)とは異なった動作をします。右シフトも同様ですが、numbits 引数は、32 で割ったときの剰余とみなされます。

(lsh 2 1)
4

(lsh 2 -1)
1

(lsh 40 2)
160