私も考えてみました。(マイナスについては考慮していません。)
あまりテストしてないので間違えてたらすみません。
'10進→2進
Function FromDecimalToBinary(X As Long) As String
Dim Y As String
If (X < 0) Then
Y = "Error"
Else
Do
Y = X Mod 2 & Y
X = X \ 2
Loop While (X > 0)
End If
FromDecimalToBinary = Y
End Function
'2進→10進
Function FromBinaryToDecimal(X As String) As Long
Dim i As Integer
Dim Y As Long
'2進チェック
If (Replace(Replace(X, "0", ""), "1", "") <> "") Then
Y = -1
Else
For i = 0 To Len(X) - 1
Y = Y + Mid(X, Len(X) - i, 1) * 2 ^ i
Next i
End If
FromBinaryToDecimal = Y
End Function
Private Sub Command1_Click()
'10進→2進
Label1 = FromDecimalToBinary(Text1)
End Sub
Private Sub Command2_Click()
'2進→10進
Label1 = FromBinaryToDecimal(Text1)
End Sub
お礼
早速のご回答有難うございます 誠に恐縮ではございますが、宜しくお願いいたします