ビットパターン
ここに載せてあるソースコードは、参考のために載せてあります
サンプルコードは、一番下にLZHとしてあります
Lukia.dllが必要です
2001/8/5 - DLLを新しく作りなおし(MFC共有にして軽くなり)ました。
DLLは、LZHファイルに同梱しています。
Option Explicit 'ビットシフトAPIです Private Declare Function BitShift Lib "lukia.dll" (ByVal lSrc As Long, ByVal lShiftCount As Long, ByVal nOrient As Long) As Long Private Const BS_LEFT = 0 '左にシフト Private Const BS_RIGHT = 1 '右にシフト 'ビットシフトの動作確認の '演算ボタンをクリックしました Private Sub Command1_Click() Dim lSrc As Long Dim lShiftCount As Long Dim nOrient As Long Dim lngRlt As Long On Error GoTo FAILED 'フォームで入力した値を変数に代入します lSrc = CLng(Text1.Text) lShiftCount = CLng(Text2.Text) 'オプションの選択により 'シフトの方向を切り替えます If Option1(0).Value = True Then nOrient = BS_LEFT Else nOrient = BS_RIGHT End If 'APIを使用して結果を変数に代入します lngRlt = BitShift(lSrc, lShiftCount, nOrient) 'テキストボックスに結果を表示します Text3.Text = lngRlt Exit Sub FAILED: '入力が正しくないことを伝えます MsgBox "整数の数字を入力して下さい。", vbExclamation End Sub 'ビットパターンの '演算ボタンをクリックしました Private Sub Command2_Click() Dim lSrc As Long On Error GoTo FAILED lSrc = CLng(Text4.Text) Text5.Text = BitPattern(lSrc) Exit Sub FAILED: MsgBox "整数の数字を入力して下さい。", vbExclamation End Sub '指定した値のビットパターンを文字列として返します Function BitPattern(ByVal lSrc As Long) As String Dim j As Long Dim strBit As String For j = 15 To 0 Step -1 strBit = BitShift(lSrc, j, BS_RIGHT) And &H1 BitPattern = BitPattern & strBit Next End Function |