Questo sito utilizza cookies, anche di terze parti, per mostrare pubblicità e servizi in linea con il tuo account. Leggi l'informativa sui cookies.
Username: Password: oppure
C# / VB.NET - Aiuto!!! Da binario a stringa e viceversa
Forum - C# / VB.NET - Aiuto!!! Da binario a stringa e viceversa

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
giovannibart91 (Member)
Pro


Messaggi: 63
Iscritto: 30/05/2008

Segnala al moderatore
Postato alle 16:20
Domenica, 15/04/2007
Questo topic è stato chiuso dal moderatore

Mi servirebbe un urgente aiuto: 8-|
Qualcuno mi saprebbe dire se esiste una funzione per leggere dati binari e trasformarli in stringa, e leggere una stringa e trasformarla in dato binario?
Mi sarebbe estremamente utile, Grazie. :D

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:10
Martedì, 17/04/2007
Spiegati meglio: intendi trasformare un numero decimale in binario? Ossia fare questo per tutti i byte di una stringa?


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
giovannibart91 (Member)
Pro


Messaggi: 63
Iscritto: 30/05/2008

Segnala al moderatore
Postato alle 18:16
Martedì, 17/04/2007
Esatto!

PM
Avatar
giovannibart91 (Member)
Pro


Messaggi: 63
Iscritto: 30/05/2008

Segnala al moderatore
Postato alle 18:18
Martedì, 17/04/2007
Cioè, io ho un testo (stringa) e lo trasformo tutto in binario.

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 18:29
Martedì, 17/04/2007
Prova così:
Codice sorgente - presumibilmente VB.NET

  1. overloads function ToBin(b as byte) as string
  2. dim s as string
  3. for i as int16 = 7 to 0 step -1
  4. if b >= 2 ^ i then
  5.   b -= 2 ^ i
  6.   s += "1"
  7. else
  8.   s += "0"
  9. end if
  10. next
  11. return s
  12. end sub
  13.  
  14. overloads function ToBin(s as string) as string
  15. dim result as string
  16. for each c as char in s.chars
  17. result+= tobin(asc(c))
  18. next
  19. return result


Non l'ho provato, dovrebbe funzionare...


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
giovannibart91 (Member)
Pro


Messaggi: 63
Iscritto: 30/05/2008

Segnala al moderatore
Postato alle 18:40
Martedì, 17/04/2007
Ora ho corretto il codice e non mi dà nessun errore, ma quale funzione devo usare, me ne hai date due... :-|

PM
Avatar
giovannibart91 (Member)
Pro


Messaggi: 63
Iscritto: 30/05/2008

Segnala al moderatore
Postato alle 20:40
Martedì, 17/04/2007
Scusa per il post demenziale che ho fatto prima, non avevo capito bene quello che avevi scritto.
Allora, io ho provato di tutto ma mi dà un errore di StackOverflow, secondo me è perchè prova a dare un valore Byte alla stringa result.
Grazie comunque per avermi dato uno spunto, cercherò di provare altri modi.  8-)

PM
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 19:10
Mercoledì, 18/04/2007
Forse è il problema dell'overloading, cmq prova a cmabiare il nome di una funzione (magari converte in stringa e fa una ricorsiva, bah!).


"Infelici sono quelli che hanno tanto cervello da vedere la loro stupidità."
(Fligende Blatter)

"Dubitare di se stessi è il primo segno d'intelligenza."
(Ugo Ojetti)
PM
Avatar
faraoman (Member)
Rookie


Messaggi: 39
Iscritto: 05/01/2010

Segnala al moderatore
Postato alle 13:10
Martedì, 01/06/2010
io ho creato due funzioni che ti permettono di ottenere il valore binario da un numero e videversa
Ecco il codice

Function ConvertStringToBinCode(ByVal sBinCode As String) As String
        Dim inputstr As New TextBox
        inputstr.Text = sBinCode
        Dim out As String
        Dim d As Integer = -1
        If inputstr.Text = 1 Then
            Return 1
        ElseIf inputstr.Text = 0 Then
            Return 0
        End If
        While inputstr.Text = 1 = False
            Math.DivRem(CInt(inputstr.Text), 2, d)
            If out = -1 Then
                out = d
            Else
                out &= d
            End If
            inputstr.Text = CUInt(inputstr.Text) \ 2
        End While
        Return StrReverse(out & 1)
    End Function

    Function DeconvertBinCodeToString(ByVal sBinCode As String) As String
        Dim inputstr As New TextBox
        inputstr.Text = sBinCode
        Dim out As String
        For x As Integer = 0 To inputstr.Text.Length - 1
            out = out * 2 + inputstr.Text(x).ToString
        Next
        Return out
    End Function

Spero d'esserti stato utile


Ciao Faraoman ^_^
PM
Pagine: [ 1 2 ] Precedente | Prossimo