View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.programming
Rich[_15_] Rich[_15_] is offline
external usenet poster
 
Posts: 3
Default Dec2Bin Function Max length of 16 bits

I am using the following function to convert from deciminal to binary.
It works great for small numbers but when I send it a decimal value
that I want convered to 32 binary digits the result that comes out is
only 16 binary bits.

Is there a way to make this function support 32 bit binary? Or is
there another function I can replace it with?



Function Dec2Bin(ByVal DecimalIn As Variant, _
Optional NumberOfBits As Variant) As String
Dec2Bin = ""
DecimalIn = Int(CDec(DecimalIn))
Do While DecimalIn < 0
Dec2Bin = Format$(DecimalIn - 2 * Int(DecimalIn / 2)) &
Dec2Bin
DecimalIn = Int(DecimalIn / 2)
Loop
If Not IsMissing(NumberOfBits) Then
If Len(Dec2Bin) NumberOfBits Then
Dec2Bin = "Error - Number exceeds specified bit size"
Else
Dec2Bin = Right$(String$(NumberOfBits, _
"0") & Dec2Bin, NumberOfBits)
End If
End If
End Function