Public Function Bin(ByVal Data As Long, Optional ByVal Size As Long = -1) As String
Dim Sign As Boolean
Dim TempStr As String
Sign = Data And &H80000000
Data = Data And &H7FFFFFFF
Do While Data
TempStr = (Data And 1) & TempStr
Data = Data \ 2
Loop
If Len(TempStr) = 0 Then TempStr = "0"
If Sign Then
TempStr = "1" & String(32 - Len(TempStr) - 1, "0") & TempStr
End If
If Size > Len(TempStr) Then TempStr = String(Size - Len(TempStr), "0") & TempStr
'Debug.Print TempStr
Function dectoBin(X As Long) As String
Const Bins = "0000000100100011010001010110011110001001101010111100110111101111"
Dim i As Integer, s() As String, y As String
y = Hex(X)
ReDim s(1 To Len(y))
For i = 1 To Len(y)
s(i) = Mid(Bins, (Val("&h" + Mid(y, i, 1)) * 4 + 1), 4)
Next
s(1) = Format(s(1), "0")
dectoBin = Join(s, "")
Erase s
End Function
Private Function TenturnTwo(ByVal varNum As Long) As String
Dim returnString As String
Dim ModNum As Integer
Do While varNum > 0
ModNum = varNum Mod 2
varNum = varNum \ 2
returnString = Trim(Str(ModNum)) + returnString
Loop
TenturnTwo = returnString
End Function
Private Function TwoturnTen(ByVal varString As String) As Long
Dim Slen As Long
Dim I As Long
Dim returnNum As Long
Slen = Len(varString)
For I = 0 To Slen - 1
returnNum = returnNum + Val(Mid(varString, I + 1, 1)) * (2 ^ (Slen - I - 1))
Next
TwoturnTen = returnNum
End Function
Public Function conform(ByVal temp As Long) As String
Dim j As Long
Dim s As String
Dim binstr As String
Do While 2 ^ j <= temp
If (temp And 2 ^ j) = 2 ^ j Then
s = "1"
Else
s = "0"
End If
binstr = s + binstr
j = j + 1
Loop
conform = binstr
End Function