Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Convertir Hexadecimal En Decimal
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Convertir Hexadecimal En Decimal 
 
Hola a todos.
Luego de buscar un largo rato en el foro y en la ayuda de gambas no logre encontrar la forma de Convertir Hexadecimal en Decimal.
Tengo los siguientes números por ejemplo:
0x0
0x100
0x2000
0x2008

Nota: dichos valores provienen de una librería que decodifica archivos binarios y según el manual de dicha librería el valor debería ser "short 1 bit-encoded unsigned short"

¿Alguna idea?
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
tincho escribió:  
... en la ayuda de gambas no logre encontrar la forma de Convertir Hexadecimal en Decimal.
Tengo los siguientes números por ejemplo:
0x0
0x100
0x2000
0x2008

Parto de la premisa de que debes convertir a decimal aquellos números como los escribiste en la representación hexadecimal usada por el C.
Si tienes que convertir aquella representación, significa que está expresa en tipo String.
Tienes que eliminar el simbolo "x" y luego convertir de manera gambasiana.
Es decir:
Public Sub Main()

  Dim s As String = "0x100"
  Dim c As Short
  
  s = Replace(s, "x", "0")
  
  c = Val("&" & s)

''...o si prefieres:
  ' s = Replace(s, "0x", "&")
  ' c = Val(s)
  
  Print c

End






tincho escribió:  
unsigned short"

...como sabes gambas no tiene el typo Unsigned Short.  
 



 
última edición por vuott el Lunes, 11 May 2020, 18:40; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
vuott escribió:  
tincho escribió:  
... en la ayuda de gambas no logre encontrar la forma de Convertir Hexadecimal en Decimal.
Tengo los siguientes números por ejemplo:
0x0
0x100
0x2000
0x2008

Parto de la premisa de que debes convertir a decimal aquellos números como los escribiste en la representación hexadecimal usada por el C.
Si tienes que convertir aquella representación, significa que está expresa en tipo String.
Tienes que eliminar el simbolo "x" y luego convertir de manera gambasiana.
Es decir:
Public Sub Main()
  Dim s As String = "0x100"
  Dim c As Short
  s = Replace(s, "x", "0")
  c = Val("&" & s)
  Print c
End

tincho escribió:  
unsigned short"

...como sabes gambas no tiene el typo Unsigned Short.  

Gracias Vuott. Siempre estas al pie del cañón.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
Mira que he integrado mi código !
 



 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
Vuott, perfecto si, he visto (y usado) tu código (el de este post y muchos que pones en el foro tambien).
Quedo así:
              sVal = Replace(sVal, "0x", "&00")
              i = Val(sVal)

Gracias otra vez.
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
tincho escribió:  
Quedo así:
              sVal = Replace(sVal, "0x", "&00")
              i = Val(sVal)

ok
 



 
última edición por vuott el Lunes, 11 May 2020, 21:53; editado 2 veces 
vuott - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
Puede descargar archivos
No puede publicar eventos en el calendario



  

 

cron