Funcion Binario

Iniciado por sexto, 18 Junio 2007, 11:42 AM

0 Miembros y 1 Visitante están viendo este tema.

sexto

Quiero saber si hay alguna forma, igual que con hex o con oct se pasa a hexadecimal y a octal respectivamente, pasa pasar a binario. Necesito saber si se puede hacer, y como se hace, ya que de momento, lo he puesto de una manera un poco chapucera y solo me pasa hasta el 255 (11111111)
muchas gracias

karmany

Hay muchos códigos en internet para pasar decimal a binario.
El siguiente código que te pongo no es mío pero lo probé y funciona perfectamente. Convierte un dato tipo long en una cadena que será el binario final.
Es una función muy sencilla:

Function Binario(ByVal valor As Long) As String
Dim mayor As Integer
Dim retorno As String
Dim a As Integer

'Busca el mayor exponente
mayor = 0
Do While True
    If 2 ^ mayor > valor Then
        If mayor > 0 Then
            mayor = mayor - 1
            End If
        Exit Do
        End If
    mayor = mayor + 1
    Loop

'Calculo del valor binario
retorno = ""
For a = mayor To 0 Step -1
    If valor < (2 ^ a) Then
        retorno = retorno & "0"
    Else
        retorno = retorno & "1"
        valor = valor - (2 ^ a)
    End If
    Next a

'Pasa el valor como resultado de la función
Binario = retorno
End Function


Si quieres probarla, pon 2 textbox: text1 y text2 y un botón.
En text1 pones el decimal que quieras pulsas el botón y con este código ya verás el valor binario:

Private Sub Command1_Click()
   Text2.Text = Binario(Text1.Text)
End Sub


Un saludo


sexto

ok gracias, lo probare.
Con lo sencilla que es la funciona de hexadecimal y octal...y para binario nos tenemos que andar con variables y bucles...