Convertire un numero da rappresentazione Esadecimale a Decimale

Da Gambas-it.org - Wikipedia.
Versione del 13 dic 2012 alle 09:43 di Vuott (Discussione | contributi) (Nuova pagina: Per ottenere la rappresentazione '''''decimale''''' di un valore espresso in partenza in ''esadecimale'', possiamo utilizzare diverse modalità a seconda delle circostanze. <FONT col...)

(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Per ottenere la rappresentazione decimale di un valore espresso in partenza in esadecimale, possiamo utilizzare diverse modalità a seconda delle circostanze.


1 - Possiamo in via generale utilizzare la funzione di conversione Val() secondo la seguente sintassi:

decimale = VAL(stringa_esadecimale)

Esempio:

Public Sub Button1_Click()

 Dim intIntero as integer

  intIntero = Val("&h4b56")

  Print intIntero

End


2 - Se il valore da convertire in decimale deve essere mostrato in console, possiamo fare semplicemente così:

Public Sub Button1_Click()

  Print &4b56

End


3 - Se utilizziamo una TextArea possiamo fare così:

Public Sub Button1_Click()

  TextArea1.Text = &4b56

End


4 - Se si deve utilizzare una variabile, nella quale c'è il puro valore esadecimale; possiamo fare così:

Public Sub Button1_Click()

 Dim ss As String = "07A120"
 Dim intIntero As Integer
 
   ss = "&" & ss

  intIntero = Val(ss)

  Print intIntero

End


5 - Se invece dobbiamo estrarre il valore decimale da un esadecimale restituito da un comando bash, o comunque rappresentato dal valore "0x....", allora possiamo fare così:

Public Sub Button1_Click()

 Dim pr As Process
 Dim ss As New String[]
 Dim s As String

  pr = Shell "linea_di_comando_bash" For Read
  
  While Not Eof(pr)
    Input #pr, s
    If Mid(s, 1, 2) = "0x" Then Exit
  Wend

' Dividiamo la stringa in modo tale da ottenere la seconda parte priva della “x”:
   ss = Split(s, "x")

' Mostriamo sia il valore esadecimale (senza la "x") che quello decimale:
   Print ss[1], Val("&" & ss[1])

End