![]() |
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 |
Dec2Bin Function Max length of 16 bits
? Dec2Bin(4294967294,32)
11111111111111111111111111111110 ? dec2Bin(4294967295,32) 11111111111111111111111111111111 ? dec2bin(16,32) 00000000000000000000000000010000 It worked fine for me. -- Regards, Tom Ogilvy "Rich" wrote in message om... 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 |
All times are GMT +1. The time now is 03:33 AM. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com