FreeBASIC マニュアルのトップに戻る

FreeBASIC OpShiftLeft

目次演算子算術演算子Operator Shl (Shift left)←オリジナル・サイト

演算子 Shl (左シフト) 左にメニュー・フレームが表示されていない場合は、ここをクリックして下さい


数値の式のビットを左に移動させます。

構文:
declare 演算子 Shl ( byref lhs as integer , byref rhs as integer ) as integer
declare 演算子 Shl ( byref lhs as uinteger , byref rhs as uinteger ) as uinteger
declare 演算子 Shl ( byref lhs as longint, byref rhs as longint ) as longint
declare 演算子 Shl ( byref lhs as ulongint, byref rhs as ulongint ) as ulongint

用法:
result = lhs Shl rhs

パラメタ:
lhs
左側の式。
rhs
右側の移動させる数の式。

戻り値:
lhs を、rhs の数だけ、左に移動した結果を、返します。

記述:
演算子 Shl (左シフト) は、左側の式 (lhs) の全てのビットを、右側の式 (rhs) で指定した数だけ、左にシフトします。
これは、一つシフトする毎に、 lhs に、2 を掛けるという、効果があります。
つまり、結果は、 "Cint( lhs * 2 ^ rhs )" と同じです。
例えば、"&b0101 Shl 1" は、2進数の &b01010 を返します。そして、"5 Shl 1" は、10 を返します。

演算対象のどちらも、何らかの方法で変更されません。

結果が大きすぎて、結果のデータ型に入らない場合、左端のビットは廃棄されます("shifted out")。
この操作の結果、0 未満の rhs の値、あるいは結果のデータ型のビットの数以上の rhs の値は、不確定です。

この演算子を、ユーザ定義型のために、多重定義することができます。

例:
'数を倍にします
For i As Integer = 0 To 10

    Print 5 Shl i, Bin (5 Shl i, 16)

Next i
Sleep


出力:
 5            0000000000000101
 10           0000000000001010
 20           0000000000010100
 40           0000000000101000
 80           0000000001010000
 160          0000000010100000
 320          0000000101000000
 640          0000001010000000
 1280         0000010100000000
 2560         0000101000000000
 5120         0001010000000000


方言差:
QBからの違い:
参照:
算術演算子 に戻る
演算子 に戻る
←リンク元に戻る プログラム開発関連に戻る
ページ歴史:2021-11-24 16:13:54
日本語翻訳:WATANABE Makoto、原文著作者:LaananFisher

ホームページのトップに戻る

表示-非営利-継承