Ver Mensaje Individual
  #2 (permalink)  
Antiguo 20/10/2004, 22:33
Avatar de RsOfT
RsOfT
 
Fecha de Ingreso: marzo-2002
Ubicación: InterNET
Mensajes: 1.121
Antigüedad: 22 años, 3 meses
Puntos: 7
Ese algoritmo está mal, ya que si inserto el Diez (10) como valor decimal el me devuelve 01010000 en binario que es 80 en decimal.
Lo que me devería de devolver sería 00001010 que es el Diez decimal.

hace mucho hice uno pero que hace lo contrario. Convierte de binario a decimal.

Código:
Private Sub Form_Load()
    Dim i As String
    i = BinToDec("00001010")
End Sub

Public Function BinToDec(strBin As String) As Long
    Dim i           As Long
    Dim lngPotencia As Long
    
    lngPotencia = 1
    For i = 8 To 1 Step -1
        If Mid(strBin, i, 1) = "1" Then
            BinToDec = BinToDec + lngPotencia
        End If
        lngPotencia = lngPotencia * 2
    Next
End Function
Aqui te lo dejo. Tal vez te sirva de referencia para hacer la inversa.
__________________
.::RsOfT::.
--El que se aferra a lo conocido, nunca conocerá lo desconocido--
--Es intentando lo imposible como se realiza lo posible--
--Es de pésimo gusto contentarse con algo mediocre cuando lo excelente está a nuestro alcance--