Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Visual Basic 6 - frazionare un numero
Forum - Visual Basic 6 - frazionare un numero

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
serf88 (Normal User)
Rookie


Messaggi: 47
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 18:52
Mercoledì, 09/05/2007
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

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:32
Giovedì, 10/05/2007
usare la funzione Hex() dopo aver scomposto e ricomposto la stringa?

Ultima modifica effettuata da Hacker il 10/05/2007 alle 16:32
PM Quote
Avatar
serf88 (Normal User)
Rookie


Messaggi: 47
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 17:35
Giovedì, 10/05/2007
Testo quotato

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

PM Quote
Avatar
serf88 (Normal User)
Rookie


Messaggi: 47
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 19:47
Giovedì, 10/05/2007
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

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:00
Venerdì, 11/05/2007
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?

PM Quote
Avatar
serf88 (Normal User)
Rookie


Messaggi: 47
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 20:23
Venerdì, 11/05/2007
per trasformare in binario ho fatto un codice io a scuola durante un ora buca :)...te lo posto:

Codice sorgente - presumibilmente VB.NET

  1. Private Sub calcola1()
  2. n = Val(txtip1.Text)
  3. j = 0
  4. i = n
  5. Do
  6.     If ((i \ 2) - (i / 2)) = 0 Then
  7.         i = i \ 2
  8.         bin1 = 0 & bin1
  9.         j = j + 1
  10.     Else
  11.         i = i \ 2
  12.         bin1 = 1 & bin1
  13.         j = j + 1
  14.     End If
  15. Loop Until i = 0
  16. If j = 0 Then
  17.  txtbin1.Text = 0 & 0 & 0 & 0 & 0  & 0  & 0 & 0
  18. Else
  19.  If j = 1 Then
  20.   txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & 0 & bin1
  21.  Else
  22.   If j = 2 Then
  23.    txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & bin1
  24.   Else
  25.    If j = 3 Then
  26.     txtbin1.Text = 0 & 0 & 0 & 0 & 0 & bin1
  27.    Else
  28.     If j = 4 Then
  29.     txtbin1.Text = 0 & 0 & 0 & 0 & bin1
  30.     Else
  31.      If j = 5 Then
  32.       txtbin1.Text = 0 & 0 & 0 & bin1
  33.      Else
  34.       If j = 6 Then
  35.        txtbin1.Text = 0 & 0 & bin1
  36.       Else
  37.        If j = 7 Then
  38.         txtbin1.Text = 0 & bin1
  39.        Else
  40.         If j = 8 Then
  41.          txtbin1.Text = bin1
  42.         End If
  43.        End If
  44.       End If
  45.      End If
  46.     End If
  47.    End If
  48.   End If
  49.  End If
  50. End If
  51. End Sub



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

PM Quote
Avatar
serf88 (Normal User)
Rookie


Messaggi: 47
Iscritto: 07/04/2007

Segnala al moderatore
Postato alle 20:58
Venerdì, 11/05/2007
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?:-|

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:27
Sabato, 12/05/2007
Testo quotato

Postato originariamente da serf88:

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

Codice sorgente - presumibilmente VB.NET

  1. Private Sub calcola1()
  2. n = Val(txtip1.Text)
  3. j = 0
  4. i = n
  5. Do
  6.     If ((i \ 2) - (i / 2)) = 0 Then
  7.         i = i \ 2
  8.         bin1 = 0 & bin1
  9.         j = j + 1
  10.     Else
  11.         i = i \ 2
  12.         bin1 = 1 & bin1
  13.         j = j + 1
  14.     End If
  15. Loop Until i = 0
  16. If j = 0 Then
  17.  txtbin1.Text = 0 & 0 & 0 & 0 & 0  & 0  & 0 & 0
  18. Else
  19.  If j = 1 Then
  20.   txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & 0 & bin1
  21.  Else
  22.   If j = 2 Then
  23.    txtbin1.Text = 0 & 0 & 0 & 0 & 0 & 0 & bin1
  24.   Else
  25.    If j = 3 Then
  26.     txtbin1.Text = 0 & 0 & 0 & 0 & 0 & bin1
  27.    Else
  28.     If j = 4 Then
  29.     txtbin1.Text = 0 & 0 & 0 & 0 & bin1
  30.     Else
  31.      If j = 5 Then
  32.       txtbin1.Text = 0 & 0 & 0 & bin1
  33.      Else
  34.       If j = 6 Then
  35.        txtbin1.Text = 0 & 0 & bin1
  36.       Else
  37.        If j = 7 Then
  38.         txtbin1.Text = 0 & bin1
  39.        Else
  40.         If j = 8 Then
  41.          txtbin1.Text = bin1
  42.         End If
  43.        End If
  44.       End If
  45.      End If
  46.     End If
  47.    End If
  48.   End If
  49.  End If
  50. End If
  51. 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.

PM Quote
Avatar
Hacker (Member)
Guru


Messaggi: 1014
Iscritto: 06/06/2006

Segnala al moderatore
Postato alle 16:29
Sabato, 12/05/2007
Testo quotato

Postato originariamente da 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?:-|


che c'entra col VB?:D
Comunque,un calcolatore è uno strumento "stupido",che non è in grado di pensare o di agire per conto suo...non ha intelligenza.
Tutto quello che deve fare viene gestito dal programmatore.
Intendevi questo oppure ti ho frainteso?:D

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo