Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Convertir Hexadecimal En Decimal

Convertir Hexadecimal En Decimal
Artículo
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 usuario Enviar mensaje privado  
tincho [ Lunes, 11 May 2020, 18:06 ]
 


Convertir Hexadecimal En Decimal
Comentarios
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 usuario Enviar mensaje privado  
vuott [ Lunes, 11 May 2020, 18:33 ]
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 usuario Enviar mensaje privado  
tincho [ Lunes, 11 May 2020, 18:39 ]
Responder citando    Descargar mensaje  
Mensaje Re: Convertir Hexadecimal En Decimal 
 
Mira que he integrado mi código !



 
vuott - Ver perfil del usuario Enviar mensaje privado  
vuott [ Lunes, 11 May 2020, 18:48 ]
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 usuario Enviar mensaje privado  
tincho [ Lunes, 11 May 2020, 21:06 ]
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 usuario Enviar mensaje privado  
vuott [ Lunes, 11 May 2020, 21:50 ]
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


 



 

cron