quinta-feira, 12 de junho de 2014

VBA - Converter número decimal para binário

Segue função em VBA (Serve para Acces ou para Excel) que converte um número Decimal para binário

Public Function ConvertDecimalToBinario(nDecimal As Double, nBits As Integer) As String
Dim i As Long
Dim num As Long: num = Int(nDecimal / 2)
Dim bin As Long: bin = nDecimal Mod 2
Dim strBinarios As String: strBinarios = bin
For i = 1 To nBits - 1
      bin = num Mod 2
      num = Int(num / 2)
      strBinarios = strBinarios & bin
Next
'Inverte o texto
Dim txt As String
For i = 0 To Len(strBinarios) - 1
txt = txt & Mid(CStr(strBinarios), Len(CStr(strBinarios)) - i, 1)
Next
ConvertDecimalToBinario = txt
End Function

Exemplo de uso:
no Excel: =ConvertDecimalToBinario(25;8) --> retorna um número binário (00011001) com 8 bits.

Nenhum comentário:

Postar um comentário