「Lsh」の版間の差分

提供:GizmoLabs - だいたい CAD LISP なサイト
編集の要約なし
編集の要約なし
 
(同じ利用者による、間の1版が非表示)
41行目: 41行目:
-----
-----
関連事項
関連事項
*  
* [[logand]] 関数
* [[logior]] 関数
* [[lsh]] 関数
* [[boole]] 関数
 
 


[[Category:AutoLISP]]
[[Category:AutoLISP]]

2022年4月24日 (日) 08:48時点における最新版

構文
(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



関連事項