ISHFT

要素別処理組込み関数 (総称):論理けた移動を実行します。

形式

result = ISHFT (i, shift)

i
(入力) 整数型。

shift
(入力) 整数型。shift の絶対値は,BIT_SIZE(i) 以下でなくてはなりません。

結果

結果の型は i と同じです。結果は,ishift 位置だけ移動して得られる値を持ちます。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

関連情報

BIT_SIZEISHAISHCISHFTC

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/ を返します。