Cómo convertir a un número decimal en un número binario en una cadena

Seleccione idioma Seleccione idioma
Id. de artículo: 109260 - Ver los productos a los que se aplica este artículo
Expandir todo | Contraer todo

En esta página

Resumen

El programa de ejemplo siguiente muestra cómo convertir a un número decimal en su representación binaria equivalente almacenada en una cadena.

Este programa acepta un número decimal positivo de nueve dígitos y devuelve una cadena de 32 caracteres que representa el número en notación binaria. Los números negativos se convierten en el formato binario en dos complementos de 32 dígitos, utilizado por enteros largos en Basic.

Más información

En números decimales (base diez números), cada posición de decimal es una potencia de 10. Dígitos decimales pueden tener valores desde cero hasta nueve. En números binarios (base-dos números), cada posición de decimal es una potencia de dos. Dígitos binarios sólo pueden tener valores de 0 ó 1.

Programa de ejemplo

  1. Inicie un proyecto nuevo de Visual Basic. Se creará Form1 de manera predeterminada.
  2. Agregue dos cuadros de texto a Form1. Asegúrese de cada cuadro de texto en más de 32 caracteres de ancho.
  3. Haga doble clic en el cuadro de texto Text1 para abrir su ventana de código. Elija el evento Change en el cuadro procedimiento. Agregue el código siguiente al evento cambiar Texto1:
       Sub Text1_Change ()
    
          Dim i As Long, x As Long, bin As String
          Const maxpower = 30   ' Maximum number of binary digits supported.
          text1.MaxLength = 9   ' Maximum number of decimal digits allowed.
          text2.Enabled = False ' Prevent typing in second text box.
          bin = ""  'Build the desired binary number in this string, bin.
          x = Val(text1.Text) 'Convert decimal string in text1 to long integer
    
          If x > 2 ^ maxpower Then
             MsgBox "Number must be no larger than " & Str$(2 ^ maxpower)
             text2.Text = ""
             Exit Sub
          End If
    
          ' Here is the heart of the conversion from decimal to binary:
    
          ' Negative numbers have "1" in the 32nd left-most digit:
          If x < 0 Then bin = bin + "1" Else bin = bin + "0"
    
          For i = maxpower To 0 Step -1
             If x And (2 ^ i) Then   ' Use the logical "AND" operator.
                bin = bin + "1"
             Else
                bin = bin + "0"
             End If
          Next
          text2.Text = bin  ' The bin string contains the binary number.
    
       End Sub
    						
  4. Inicie el programa, o presione la tecla F5. Introducir números decimales en el primer cuadro de texto. El número equivalente binario se muestra en el segundo cuadro de texto.
Nota : este programa convierte los números decimales negativos en formato binario interno dos complemento utilizado por Basic. En ese formato, el dígito binario de más a la izquierda (dígito de treinta segundos en un entero largo) siempre será 1 para un número negativo y 0 para un número positivo.
Decimal Value    Binary Value
-----------------------------
0                00000000000000000000000000000000
21               00000000000000000000000000010101
1024             00000000000000000000010000000000
32767            00000000000000000111111111111111
32768            00000000000000001000000000000000
65536            00000000000000010000000000000000
16777216         00000001000000000000000000000000
999999999        00111011100110101100100111111111
-1               11111111111111111111111111111111
-3               11111111111111111111111111111101
				

Propiedades

Id. de artículo: 109260 - Última revisión: martes, 9 de diciembre de 2003 - Versión: 2.0
La información de este artículo se refiere a:
  • Microsoft Visual Basic 2.0 Standard Edition
  • Microsoft Visual Basic 3.0 Professional Edition
  • Microsoft Visual Basic 2.0 Professional Edition
  • Microsoft Visual Basic 3.0 Professional Edition
Palabras clave: 
kbmt KB109260 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 109260
Renuncia a responsabilidad de los contenidos de la KB sobre productos a los que ya no se ofrece asistencia alguna
El presente artículo se escribió para productos para los que Microsoft ya no ofrece soporte técnico. Por tanto, el presente artículo se ofrece "tal cual" y no será actualizado.

Enviar comentarios

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com