terça-feira, 20 de outubro de 2015

Função em Excel para transformar um número em binário com até 32 bits

Public Function NumTo32Bits(Numero As String) As String
    Dim Valor As Double
    Dim Resto(31) As Double
    Dim Dividendo(31) As Long
    Dim iContador As Integer
    Dim Aux As String
   
   
    'Verifica se o número pode ser convertido
    If IsNumeric(Numero) Then
        Valor = CDbl(Numero)
    Else
        NumTo32Bits = "Valor incompatível"
        Exit Function
    End If
   
    'Efetua a conversão
    For iContador = 0 To 31
        Resto(iContador) = Valor - (Int(Valor / 2) * 2)
        Dividendo(iContador) = Fix(Valor / 2)
        Valor = Dividendo(iContador)
    Next
   
    'Pega os bits na ordem inversa e retorna
    For iContador = 31 To 0 Step -1
        Aux = Aux & Resto(iContador)
    Next iContador
   
    NumTo32Bits = Aux
   
End Function

Nenhum comentário:

Postar um comentário