| 
       All'interno di Visual Basic esistono varie funzioni che restituiscono 
        un numero intero rappresentante più stati di un determinato elemento. 
      
 
      Un esempio lampante è la funzione GetAttr che restituisce 
        un numero intero i cui bit indicano lo stato dei diversi attributi del 
        file. 
      Il numero restituito da GetAttr contiene 7 bit fondamentali; per 
        trovare i singoli attributi del file basta estrarli uno per uno tramite 
        un paragone AND bit a bit. Questi 7 bit indicano: 
      
         
          | Bit | 
          Valore | 
          Costante | 
          Rappresentazione | 
          Funzione | 
         
         
          | 1 | 
          1 | 
          vbReadOnly | 
          0000 0001 | 
          Sola lettura | 
         
         
          | 2 | 
          2 | 
          vbHidden | 
          0000 0010 | 
          Nascosto | 
         
         
          | 3 | 
          4 | 
          vbSystem | 
          0000 0100 | 
          Di sistema | 
         
         
          | 4 | 
          8 | 
          vbVolume | 
          0000 1000 | 
          Volume (non utilizzato) | 
         
         
          | 5 | 
          16 | 
          vbDirectory | 
          0001 0000 | 
          Directory (cartella) | 
         
         
          | 6 | 
          32 | 
          vbArchive | 
          0010 0000 | 
          Archivio | 
         
         
          | 7 | 
          64 | 
          vbAlias | 
          0100 0000 | 
          Alias (non utilizzato) | 
         
       
      Facciamo un esempio pratico: Valore = GetAttr("C:\IO.SYS") 
        Dopo quest'operazione la variabile Valore conterrà il numero 
        intero 7. Da sè questo numero non rappresenta alcun bit di stato 
        visto sopra. È necessario effettuare un'estrazione bit a bit. Effettuiamo 
        queste semplici operazioni di AND: 
       
        Valore AND vbReadOnly      Risultato: 
          1  (vbReadOnly) 
          Valore AND vbHidden        Risultato: 
          2  (vbHidden) 
          Valore AND vbSystem        Risultato: 
          4  (vbSystem) 
          Valore AND vbVolume        Risultato: 
          0 
          Valore AND vbDirectory     Risultato: 0 
          Valore AND vbArchive       Risultato: 
          0 
          Valore AND vbAlias         Risultato: 
          0 
       
      Questo avviene perché l'operatore AND 
        restituisce il valore TRUE solo 
        quando i bit impostati a 1 del primo numero hanno un corrispondente bit 
        impostato a 1 nel secondo numero. 
        Vediamo in numeri quanto abbiamo detto, subito dopo aver convertito 
        il numero decimale 7 in un numero a base binaria. Il valore 7 diventa 
        per cui 00000111.  
    
 
      
        - 0000 0111 (7) AND
 
          0000 0001 (vbReadOnly) = 
          ---------  
          0000 0001 (vbReadOnly - Il file è di sola lettura) 
           
         
        - 0000 0111 (7) AND
 
          0000 0010 (vbHidden) = 
          ---------  
          0000 0010 (vbHidden - Il file è nascosto) 
           
         
        - 0000 0111 (7) AND
 
          0000 0100 (vbSystem) = 
          ---------  
          0000 0100 (vbSystem - Il file è di sistema) 
           
         
        - 0000 0111 (7) AND
 
          0000 1000 (vbVolume) = 
          ---------  
          0000 0000 (Non è un Volume) 
           
         
        - 0000 0111 (7) AND
 
          0001 0000 (vbDirectory) = 
          ---------  
          0000 0000 (Non è una Directory) 
           
         
        - 0000 0111 (7) AND
 
          0010 0000 (vbArchive) = 
          ---------  
          0000 0000 (Stato di archivio non impostato) 
           
         
        - 0000 0111 (7) AND
 
          0100 0000 (vbAlias) = 
          ---------  
          0000 0000 (Il file non è un Alias) 
       
      In Visual Basic ci sono molte funzioni che agiscono in tal modo: raggruppando 
        in un solo numero lo stato di più valori. 
       |