Dec2Bin Function Max length of 16 bits

R

Rich

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
 
T

Tom Ogilvy

? Dec2Bin(4294967294,32)
11111111111111111111111111111110
? dec2Bin(4294967295,32)
11111111111111111111111111111111
? dec2bin(16,32)
00000000000000000000000000010000

It worked fine for me.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top