Convertir Hexadecimal En Decimal


Subject: 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?

Profile PM  
Subject: 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.

Last edited by vuott on Monday, 11 May 2020, 18:40; edited 2 times in total
Profile PM  
Subject: 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.

Profile PM  
Subject: Re: Convertir Hexadecimal En Decimal
Mira que he integrado mi código !

Profile PM  
Subject: 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.

Profile PM  
Subject: Re: Convertir Hexadecimal En Decimal
tincho escribió:  
Quedo así:
sVal = Replace(sVal, "0x", "&00")
i = Val(sVal)

ok

Last edited by vuott on Monday, 11 May 2020, 21:53; edited 2 times in total
Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1112s (PHP: -27% SQL: 127%)
SQL queries: 25 - Debug Off - GZIP Enabled