Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 17
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361

    convertire un numero in bit

    Mi chiedevo se in vb esiste qualche funzione che converta un numero nella rappresentazione binaria e viceversa (Devo creare un algoritmo x il subnetting e quindi devo lavorare con gli 1 e 0)
    GRaz..

  2. #2
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    In VB no.
    Io ho fatto questa:
    codice:
    Private Function DecToBin(ByVal Numero As Double) As String
    Dim Num1 As Double
    
    Num1 = Int(Numero)
    Do Until Num1 = 0
      Numero = Numero / 2
      Num1 = Num1 \ 2
      If Num1 = Numero Then
        DecToBin = "0" & DecToBin
      Else
        DecToBin = "1" & DecToBin
      End If
      Numero = Fix(Numero)
    Loop
    End Function

  3. #3
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    ok , grazie per la function...

  4. #4
    Utente di HTML.it L'avatar di Mabi
    Registrato dal
    May 2002
    Messaggi
    1,245
    Mi sono dimenticato la funzione inversa:
    codice:
    Private Function BinToDec(NumeroBin As String) As Double
    Dim Cont As Integer
    Dim CifraN As Integer
    
    For Cont = Len(NumeroBin) To 1 Step -1
      CifraN = CInt(Mid(NumeroBin, Cont, 1))
      BinToDec = BinToDec + CifraN * 2 ^ (Len(NumeroBin) - Cont)
    Next Cont
    End Function

  5. #5
    Foga27News
    Guest

    Una versione forse + veloce ma solo 1 byte

    Public Function DecToBin(num As Byte) As String
    Dim b$, l, j
    b$ = ""
    For l = 0 To 7
    If (2 ^ l) And num Then b$ = "1" & b$ Else b$ = "0" & b$
    Next
    End Function

  6. #6
    no non è + veloce è + limitata e non è una gara a chi è + bravo
    Vascello fantasma dei mentecatti nonchè baronetto della scara corona alcolica, piccolo spuccello di pezza dislessico e ubriaco- Colui che ha modificato l'orribile scritta - Gran Evacuatore Mentecatto - Tristo Mietitore Mentecatto chi usa uTonter danneggia anche te

  7. #7
    Foga27News
    Guest
    Sono abbastanza modesto da aver messo un "forse" e non ho nessuna pretesa di essere il più bravo.

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2002
    Messaggi
    361
    um, mi ero perso il proseguimento....

    Tornando al problema originale, purtroppo devo fare dei calcoli booleani, tipo and, or xor not etc ( 1 or 0 = 1 e così via)

    E' possibile farli con delle stringhe???
    Penso di no (se è possibile ditemi come)
    Come posso allora avere dei valori booleani per fare delle operazioni boolena???

  9. #9
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    Originariamente inviato da gaullo
    um, mi ero perso il proseguimento....

    Tornando al problema originale, purtroppo devo fare dei calcoli booleani, tipo and, or xor not etc ( 1 or 0 = 1 e così via)

    E' possibile farli con delle stringhe???
    Penso di no (se è possibile ditemi come)
    Come posso allora avere dei valori booleani per fare delle operazioni boolena???
    devi fare queste operazioni bit per bit oppure sull'intero ottetto?

    per la prima potresti provare con una array di boolean e memorizzare 1 e 0 e poi fare le operazioni subli indici dell'array


    è un'idea buttata li, non so se è fattibile

  10. #10
    Utente di HTML.it L'avatar di cik
    Registrato dal
    Jul 2003
    Messaggi
    449
    se vuoi farli con delle stringhe puoi scriverti tu le funzioni e se le stringhe sono sempre di uguale lunghezza è ancora più facile.
    Basta che scrivi 2 funzioni (not e and oppure not e or) e tutte le altre le puoi ricondurre ad operazioni con quelle che hai scritto

    esempio: se scrivi not e and
    a or b = not (not(a) and not(b))
    a xor b = (a and not(b)) or (not(a) and b)
    S'i fosse foco, arderei 'l mondo

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.