「Lsh」の版間の差分
(ページの作成: ; 構文 : (lsh ''int'' ''numbits'') ; 機能 : 指定されたビット数だけ整数を論理的にビット シフトした結果を返す。 ; 引数 :* int : 整数。 :…) |
編集の要約なし |
||
(同じ利用者による、間の2版が非表示) | |||
1行目: | 1行目: | ||
{{AutoLISP}} | |||
; 構文 | ; 構文 | ||
: (lsh ''int'' ''numbits'') | : (lsh ''int'' ''numbits'') | ||
5行目: | 6行目: | ||
; 機能 | ; 機能 | ||
: 指定されたビット数だけ整数を論理的にビット シフトした結果を返す。 | : 指定されたビット数だけ整数を論理的にビット シフトした結果を返す。 | ||
; 引数 | ; 引数 | ||
13行目: | 15行目: | ||
::: どちらの場合も、シフトの結果として入ってくるビットは 0(ゼロ)で、出ていくビットは破棄される。 | ::: どちらの場合も、シフトの結果として入ってくるビットは 0(ゼロ)で、出ていくビットは破棄される。 | ||
::: numbits 引数を指定しなかった場合、シフトは行われない。 | ::: numbits 引数を指定しなかった場合、シフトは行われない。 | ||
; 戻り値 | ; 戻り値 | ||
38行目: | 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
関連事項