Oppure

Loading
25/03/10 17:51
cesco_fran
per il primo esiste la funzione hex(n), ma se dovessi farlo al contrario, come faccio?

grazie. :)
aaa
25/03/10 18:45
nessuno
        Dim i As Integer
        Dim s As String

        ' Da hex a dec
        s = "A000"
        i = Convert.ToInt32(s, 16)

        ' Da dec a hex
        i = 65
        s = Convert.ToString(i, 16)
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
25/03/10 20:51
cesco_fran
Dim i As Integer
Dim s As String

' Da hex a dec
s = "A000"
i = Convert.ToInt32(s, 16)

questa parte era quella che mi interessava di più, ma non funziona se inserisci i valori con le lettere (le prime 6).

Inserendo ad esempio a, dovrebbe dare come risultato 10

o no?
aaa
25/03/10 20:54
nessuno
Sinceramente, non ho capito il problema ... quale codice hai provato?
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
25/03/10 21:29
cesco_fran
nulla di stranissimo (almeno credo, e con tutta la mia ignoranza.. :D)

esattamente questo:

Dim i as integer
Dim s as string = Val(textbox1.text)

i = convert.toint32(s,16)

textbox2.text=i

un form, un pulsante e due textbox...

inserisco nel primo il valore esadecimale da convertire, clicco, e sul secondo dovrebbe comparire la conversione del valore in decimale.

Se inserisco 15 mi da 21 (ma dovrebbe essere 22, conta anche lo 0 come primo numero o sbaglio?)

se inserisco 1a mi da 1 (ma dovrebbe essere 27)

se inserisco a1 mi da 0 addirittura... :(

la numerazione esadecimale non funziona così:

0-1-2-3-4-5-6-7-8-9-a-b-c-d-e-f-10-11-12-13-14-15-16-17-18-19-1a-1b-1c-1d-1e-1f-20-21-... ect ect ???
aaa
25/03/10 21:47
nessuno
Ma cosa c'entra la Val ? Perchè la usi ? Sai a cosa serve ?

Il codice dovrebbe essere fatto solo da questa linea

TextBox2.Text = Convert.ToInt32(TextBox1.Text, 16).ToString()

Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.
25/03/10 22:09
cesco_fran
perchè ho usato val?

per appunto l'ingnoranza di cui sopra :(
(ho corretto e messo tra gli appunti, grazie :) )

detto questo però ho provato e non capisco perchè mi da come risultato un dato con un unità in meno!

cioè, ff dovrebbe essere 256 (16*16), invece da 255.

perchè?
aaa
25/03/10 22:15
nessuno
Postato originariamente da cesco_fran:


cioè, ff dovrebbe essere 256 (16*16), invece da 255.

perchè?


ff vale 255 ... rifai i conti ...
Ricorda che nessuno è obbligato a risponderti e che nessuno è perfetto ...
---
Il grande studioso italiano Bruno de Finetti ( uno dei padri fondatori del moderno Calcolo delle probabilità ) chiamava il gioco del Lotto Tassa sulla stupidità.