10進数を2進数の文字列に変換する関数
タイトルのサンプルマクロは、以下です。
'**********************************
'* 10進数を、2進数の文字列に変換
'* iDec:10進数
Private Function DecToBin(ByVal iDec As Long) As String
Dim sBin As String ' 2進数の文字列
If iDec < 0 Then
DecToBin = "引数がマイナスです"
Exit Function
End If
Do
' iDecを2で割った余り(0または1)を,sBinの左に追加。
sBin = CStr(iDec Mod 2) & sBin
' 変数iDecを2で割ります。整数の割り算なので、小数点以下は切り捨てられます。
iDec = Int(iDec / 2)
' 変数iDecが、0以下になるまで、繰り返す
Loop Until iDec <= 0
DecToBin = sBin
End Function
以下が使用例で、175が2進数に変換された文字列「10101111」が、メッセージボックスに表示されます。
Private Sub test()
MsgBox DecToBin(175)
End Sub