ISHFTC

要素別処理組込み関数 (総称):右端のビットの循環けた移動を実行します。

形式

result = ISHFTC (i, shift [, size])

i
(入力) 整数型。

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

size
(省略可能,入力) 整数型。size の値は正でなくてはならず,BIT_SIZE(i) を超えてはなりません。size を省略した場合,BIT_SIZE(i) の値が使用されます。

結果

結果の型は i と同じです。結果の値は,isize 個の右端ビットを shift 位置だけ循環けた移動させることによって得られます。shift が正ならば,移動は左向きに行われます。shift が負ならば,移動は右向きに行われます。shift がゼロならば,移動は行われません。

失われるビットはありません。i の中の size で指定された値以降のビットは影響を受けません。

ビット関数の詳細については,「ビット関数」を参照してください。

整数値をビット列として解釈するモデルについては,「ビット・データのモデル」を参照してください。

個別名 引数の型 結果の型
IISHFTC INTEGER(2) INTEGER(2)
JISHFTC INTEGER(4) INTEGER(4)
KISHFTC INTEGER(8) INTEGER(8)

互換性

CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB

関連情報

BIT_SIZEISHFTMVBITS

ISHFTC (4, 2, 4) の値は 1 です。

ISHFTC (3, 1, 3) の値は 6 です。

以下に他の例を示します。

	INTEGER(1) i, res1
	INTEGER(2) j, res2
	i = 10			! 00001010 と等価です。
	j = 10			! 00000000 00001010 と等価です。
	res1 = ISHFTC (i, 2, 3)		! 最も右の 3 ビットを
					! 2 (左に) だけ循環移動します。
					! 00001001 = 9 が返されます。
	res1 = ISHFTC (i, -2, 3)	! 最も右の 3 ビットを
					! -2 (右に) だけ循環移動します。
					! 00001100 = 12 が返されます。
	res2 = ISHFTC (j, 2, 3)		! 最も右の 3 ビットを
					! 2 だけ循環移動します。
					! 00000000 00001001 = 9 が返されます。