要素別処理組込み関数 (総称):論理けた移動を実行します。
形式
result = ISHFT (i, shift)
i
(入力) 整数型。
shift
(入力) 整数型。shift の絶対値は,BIT_SIZE(i) 以下でなくてはなりません。
結果
結果の型は i と同じです。結果は,i を shift 位置だけ移動して得られる値を持ちます。shift が正ならば,移動は左向きに行われます。shift が負ならば,移動は右向きに行われます。shift がゼロならば,移動は行われません。
左または右の端にはみ出されたビットは失われます。反対側の端にはゼロが格納されます。
正の shift を持つ ISHFT は,LSHIFT としても宣言できます。負の shift を持つ ISHFT は,|shift| を使って RSHIFT としても宣言できます。
ビット関数の詳細については,「ビット関数」を参照してください。
整数値をビット列として解釈するモデルについては,「ビット・データのモデル」を参照してください。
個別名 | 引数の型 | 結果の型 |
---|---|---|
INTEGER(1) | INTEGER(1) | |
IISHFT | INTEGER(2) | INTEGER(2) |
JISHFT | INTEGER(4) | INTEGER(4) |
KISHFT | INTEGER(8) | INTEGER(8) |
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
ISHFT (2, 1) の値は 4 です。
ISHFT (2, -1) の値は 1 です。
以下に他の例を示します。
INTEGER(1) i, res1 INTEGER(2) j, k(3), res2 i = 10 ! 00001010 と等価です。 j = 10 ! 00000000 00001010 と等価です。 res1 = ISHFT (i, 5) ! 01000000 = 64 を返します。 res2 = ISHFT (j, 5) ! 00000001 01000000 = 320 を返します。 k = ISHFT((/3, 5, 1/), (/1, -1, 0/)) ! 配列 /6, 2, 1/ を返します。