Estás trabajando sin conexión, espera a que vuelva la conexión a Internet

Cómo cambiar a los números hexadecimales en entero largo

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): 161304
Este artículo se ha archivado. Se ofrece "tal cual" y no se volverá a actualizar.
Resumen
Microsoft Visual Basic tiene una función Hex$() para convertir un número en unacadena de dígitos hexadecimales. Sin embargo, no tiene ninguna función obvia arealizar la conversión inversa. En este artículo se explica cómo utilizar el Val()función para realizar el notación Hexadecimal a conversión de entero largo, + arelleno aplican reventado al evitar.
Más información
La función Val() se puede utilizar para convertir una cadena de dígitos decimales en unnúmero. También puede utilizarse en una cadena de dígitos hexadecimales, pero tienePara anexar los caracteres "& H" en la cadena de dígitos para que la Val()función utiliza el número correcto que se base en el proceso de conversión.

Por ejemplo:
  A = Val("1234")    ' performs decimal conversion  A = Val("7FFF")    ' results in 7 - the F's are ignored  A = Val("&H7FFF")  ' performs hexadecimal conversion				

Captura de entero

Si va a asignar los resultados de la conversión en un entero largovariable, probablemente desee sólo números en el intervalo 80000000 aFFFFFFFF se traten como los números negativos. Sin embargo, no se tenga especiallas precauciones, también se tratarán los números entre 8000 y FFFF comonegativo.

Esto se produce debido a que se convierten números con cuatro o menos dígitosPara enteros de 2 bytes con signo. Cuando el valor intermedio de entero con signo espuede convertir en un entero largo (o 4 bytes), se propaga el inicio de sesión.

Visual Basic 4.0/Access 95 y versiones posteriores

Anexando el sufijo "&" largo a la cadena hexadecimal, incluso pequeñoslos números se tratan como valor Long. Lleva a cabo la siguiente función de laconversión correctamente:
      Function HexToLong(ByVal sHex As String) As Long        HexToLong = Val("&H" & sHex & "&")      End Function				

Visual Basic 3.0/Access 2.0 y anteriores

El método mostrado anteriormente no funcionarán en Microsoft Visual Basic 3.0 oanteriormente para los números hexadecimales mayores o iguales a 80000000. Por favor, consultela sección de referencias de este artículo para obtener más información.

Debido a que este problema no ocurre con números que se encuentran en el número enteroIntervalo de captura, la función alternativa que se indican a continuación agrega interceptación de errores para intentarnuevo sin el sufijo "&" anexado largo:
      Function HexToLong(ByVal sHex As String) As Long        On Error Resume Next        HexToLong = Val("&H" & sHex & "&")        If Err Then          On Error Goto 0          HexToLong = Val("&H" & sHex)        End If      End Function				
Uso de cualquiera de las versiones de la función es la siguiente:
      A = HexToLong("8000")				
Referencias
Tema de Ayuda de Microsoft Visual Basic: Val Function

Léame de Microsoft Visual Basic 4.0 tema: conversión de valores hexadecimales

Para obtener más información, consulte el siguiente artículo en MicrosoftMicrosoft Knowledge Base:
95431 REVISIÓN: Error de falta de coincidencia de tipo si utilizar la función VAL en valor grande
kbVBp500 kbVBp600 kbVBp kbdse kbDSupport kbVBp300 kbVBp400 kbVBp200

Advertencia: este artículo se tradujo automáticamente

Propiedades

Id. de artículo: 161304 - Última revisión: 12/04/2015 15:58:39 - Revisión: 5.0

Microsoft Visual Basic 6.0 Professional Edition, Microsoft Visual Basic Control Creation Edition, Microsoft Visual Basic 5.0 Learning Edition, Microsoft Visual Basic 5.0 Professional Edition, Microsoft Visual Basic 5.0 Enterprise Edition, Microsoft Visual Basic 4.0 Enterprise Edition, Microsoft Visual Basic 2.0 Standard Edition, Microsoft Visual Basic 3.0 Professional Edition, Microsoft Visual Basic 2.0 Professional Edition

  • kbnosurvey kbarchive kbhowto kbmt KB161304 KbMtes
Comentarios