Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: Jirp96 en 8 Mayo 2011, 21:33 pm



Título: "Ayuda" con Codigo(Pasar de Decimal a Binario)
Publicado por: Jirp96 en 8 Mayo 2011, 21:33 pm
Hola, este es mi primer post aqui(segundo con el de presentacion ;D ) y queria hacer una pregunta sobre un codigo que hice(es una funcion para pasar un numero de decimal a binario)
Esta es la funcion(la hice en base a esto: http://es.wikipedia.org/wiki/Sistema_binario (http://es.wikipedia.org/wiki/Sistema_binario)):

Código
  1.    Function DecToBin(ByVal numDec As Integer) As String
  2.        Dim ret As String = ""
  3.        Dim arrRet() As Char
  4.  
  5.        While Not numDec = 1
  6.            ret = ret & CStr(numDec Mod 2)
  7.            numDec = numDec \ 2
  8.        End While
  9.  
  10.        ret = ret & "1"
  11.        ReDim arrRet(ret.Length())
  12.        arrRet = ret.ToCharArray
  13.        Array.Reverse(arrRet)
  14.        Return arrRet
  15.    End Function

Se que debe haber mil y una cosas que se pueden cambiar en el codigo, pero no se cuales son ;D
por cierto, tengo otra duda(sobre la misma funcion):
-Si yo llamo la funcion asi:
Código
  1.        Dim n As Integer
  2.        Console.WriteLine("Introduce un numero en Decimal para Pasarlo a Binario:")
  3.        n = CInt(Console.ReadLine())
No hay ningun problema, y me devuelve el resultado correctamente, pero si llamo la funcion asi:
Código
  1. Dim n As Integer
  2.        For n = 0 To 10
  3.            Console.WriteLine("El numero en Binario es: " & DecToBin(n))
  4.        Next
  5.  
  6.        Console.ReadLine()
No me devuelve ningun resultado y se queda "colgado" el visual basic...
Alguien sabe porque?
Uso Visual Basic Express 2005(.NET framework 2.0) y WinXP
Aclaro tambien que soy "novato" en la programacion, y que
Saludos, y muchas gracias por adelantado a los que se tomaron el tiempo de leer...
pd: Si el codigo es muy largo o si no lo postee bien pido disculpas...


Título: Re: "Ayuda" con Codigo(Pasar de Decimal a Binario)
Publicado por: seba123neo en 8 Mayo 2011, 21:47 pm
Hola, con una sola linea podes convertir de decimal a binario o a cualquier base.

Código
  1. MsgBox(Convert.ToString(10234, 2))

saludos.



Título: Re: "Ayuda" con Codigo(Pasar de Decimal a Binario)
Publicado por: Jirp96 en 8 Mayo 2011, 22:10 pm
Gracias por el dato seba123neo,
que la verdad que no tenia ni idea de que habia una forma de hacerlo,
y que era tan facil  :xD
igual.... aunque haya otra forma de hacerlo, aprendi algo nuevo asi xD


Título: Re: "Ayuda" con Codigo(Pasar de Decimal a Binario)
Publicado por: raul338 en 8 Mayo 2011, 22:12 pm
De todas formas es porque empiezas por 0 en el for en el primer codigo, por lo que al dividir por 2 da siempre 0, y el bucle termina cuando el numero es 1, por lo que entra en un bucle infinito :D (tambien tuve que hacer esa funcion recientemente por cuestiones de comodidad)


Título: Re: "Ayuda" con Codigo(Pasar de Decimal a Binario)
Publicado por: Jirp96 en 8 Mayo 2011, 22:20 pm
Muchas gracias por la aclaracion del bucle For, raul338,
la verdad es que no lo habia notado :silbar: