Oppure

Loading
09/05/07 16:52
serf88
ciao ragazzi vi spiego il mio problema...
sto facendo un programma per la conversione di un ip in un numero esadecimale...ho trovato il modo di trasformare l ip in binario e lo visualizzo in una txtbox tutto unito...ora il mio problema è trasformarlo in esadecimale...cioè so come si trasforma nella realta ma non riesco ad applicarlo nel programma...la mia idea sarebbe di dividere il numero binario di 32 caratteri trovato, in altrettante txtbox cosi poi da calcolarne facilmente l'esadecimale...pero' non so come si fa :asd:...se qualcuno è cosi gentile da spiegarmi questo metodo oppure se ne ha qualcuno migliore da darmi ne sarei molto felice :)...
se non avete capito qualcosa del problema chiedete pure :k:
ciao
serf
aaa
10/05/07 14:32
Hacker
usare la funzione Hex() dopo aver scomposto e ricomposto la stringa?
Ultima modifica effettuata da Hacker 10/05/07 14:32
aaa
10/05/07 15:35
serf88
Postato originariamente da Hacker:

usare la funzione Hex() dopo aver scomposto e ricomposto la stringa?


ossia???
comunque niente ho risolto...con 8 cicli for...lo so non è il modo migliore per risolvere ma almeno son riuscito...se qualcuno sa un modo piu veloce lo posti...grazie in anticipo
ciao
serf
aaa
10/05/07 17:47
serf88
scusate ragazzi ma nel post iniziale ho sbagliato.
L'indirizzo IP una volta trasformato in numero binario, unito e poi frazionato cifra per cifra andava trasformato poi in un numero decimale non esadecimale...comunque niente son riuscito...
x hacker: lo so che c'erano le funzioni apposta per fare questo programma in non più di 10 righe ma dato che sono agli inizi...lo scopo principale è stato mettermi alla prova per trasforamre le funzioni in singoli calcoli...niente di più :k:
ciao a tutti
aaa
11/05/07 14:00
Hacker
ah,ok:)
comunque...toglimi una curiosità.
Per converitre in binario hai usato una funzione del VB o te ne sei creata una per conto tuo o ne hai trovata un per la rete?
aaa
11/05/07 18:23
serf88
per trasformare in binario ho fatto un codice io a scuola durante un ora buca :)...te lo posto:

Private Sub calcola1()
n = Val(txtip1.Text)
j = 0
i = n
Do
    If ((i \ 2) - (i / 2)) = 0 Then
        i = i \ 2
        bin1 = 0 & bin1
        j = j + 1
    Else
        i = i \ 2
        bin1 = 1 & bin1
        j = j + 1
    End If
Loop Until i = 0
If j = 0 Then
 txtbin1.Text = 0 & 0 & 0 & 0 & 0  & 0  & 0 & 0
Else
 If j = 1 Then
  txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & 0 & bin1
 Else
  If j = 2 Then
   txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & bin1
  Else
   If j = 3 Then
    txtbin1.Text = 0 & 0 & 0 & 0 & 0 & bin1
   Else
    If j = 4 Then
    txtbin1.Text = 0 & 0 & 0 & 0 & bin1
    Else
     If j = 5 Then
      txtbin1.Text = 0 & 0 & 0 & bin1
     Else
      If j = 6 Then
       txtbin1.Text = 0 & 0 & bin1
      Else
       If j = 7 Then
        txtbin1.Text = 0 & bin1
       Else
        If j = 8 Then
         txtbin1.Text = bin1
        End If
       End If
      End If
     End If
    End If
   End If
  End If
 End If
End If
End Sub


praticamente ho applicato questa procedura per ognuno dei 4 numeri dell'indirizzo IP...se non ti è chiaro qualcosa chiedi pure!:k:
aaa
11/05/07 18:58
serf88
gia che ci sono...volevo porvi un quesito che mi è venuto in mente oggi...trasformare una parola nel linguaggio macchina come si fa? cioe come fa la macchina a capire che ho scritto proprio "ciao" e non "pane"?l'unica soluzione che mi è venuta in mente è: trasformare ogni singolo carattere nel rispettivo codice ascii e dividere quest'ultimo in binario...ma se fosse così la macchina come farebbe a capire che ho digitao una parola e non un numero?:-|
aaa
12/05/07 14:27
Hacker
Postato originariamente da serf88:

per trasformare in binario ho fatto un codice io a scuola durante un ora buca :)...te lo posto:

Private Sub calcola1()
n = Val(txtip1.Text)
j = 0
i = n
Do
    If ((i \ 2) - (i / 2)) = 0 Then
        i = i \ 2
        bin1 = 0 & bin1
        j = j + 1
    Else
        i = i \ 2
        bin1 = 1 & bin1
        j = j + 1
    End If
Loop Until i = 0
If j = 0 Then
 txtbin1.Text = 0 & 0 & 0 & 0 & 0  & 0  & 0 & 0
Else
 If j = 1 Then
  txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & 0 & bin1
 Else
  If j = 2 Then
   txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & bin1
  Else
   If j = 3 Then
    txtbin1.Text = 0 & 0 & 0 & 0 & 0 & bin1
   Else
    If j = 4 Then
    txtbin1.Text = 0 & 0 & 0 & 0 & bin1
    Else
     If j = 5 Then
      txtbin1.Text = 0 & 0 & 0 & bin1
     Else
      If j = 6 Then
       txtbin1.Text = 0 & 0 & bin1
      Else
       If j = 7 Then
        txtbin1.Text = 0 & bin1
       Else
        If j = 8 Then
         txtbin1.Text = bin1
        End If
       End If
      End If
     End If
    End If
   End If
  End If
 End If
End If
End Sub


praticamente ho applicato questa procedura per ognuno dei 4 numeri dell'indirizzo IP...se non ti è chiaro qualcosa chiedi pure!:k:

ah,fatta in casa:D
Comunque mi sembra che il codice sia ancora ottimizzabile...mi sembrano troppe le righe di codice.
aaa