Titolo: Operatori binari: esempi
Categoria: Info |
|
Ultimo Aggiornamento: 06/10/05 |
Vediamo qualche esempio di operatori binari, a partire dalla
faq che ne descrive l'uso:
Quando si esegue un AND fra bit il risultato segue queste regole:
1 & 1 --> 1
0 & 1 --> 0
1 & 0 --> 0
0 & 0 --> 0
cioè, il risultato è 1 solo se entrabi i bit valgono 1.
Esempio: 0x0000FFFF & 0xFF00FF00 è uguale a 0x0000FF00
L'OR (inclusive) usa la seguente tabella:
1 | 1 --> 1
0 | 1 --> 1
1 | 0 --> 1
0 | 0 --> 0
cioè, il risultato è 1 se uno dei bit vale 1.
Esempio: 0x0000FFFF | 0xFF00FF00 è uguale a 0xFF00FFFF.
L'OR esclusivo invece si comporta così:
1 ^| 1 --> 0
0 ^| 1 --> 1
1 ^| 0 --> 1
0 ^| 0 --> 0
cioè, il risultato è 1 solo se UNO SOLO dei bit confrontati vale 1.
Esempio: 0x0000FFFF ^| 0xFF00FF00 restituisce 0xFF0000FF
Lo Shift a sinistra/destra sposta i bit verso sinistra/destra di un numero N di posti. I bit mancanti vengono rimpiazzati da zeri. Ciò significa che se il numero di bit da shiftare passato è maggiore di 31 il risultato dello shift sarà sempre 0x00000000 poiché tutti i bit vengono persi.
Lo Shift a sinistra/destra corrisponde a moltiplicare/dividere il numero passato per 2^N (con N numero di posti dello shift)
Esempi:
Bit Shift a sx: 0x0000FFFF << 8 restituisce 0x00FFFF00
Bit Shift a dx: 0x0000FFFF >> 8 restituisce 0x000000FF
Altri esempi sui bit operators:
Bit Set: 0x00000000 ?+ 16 restituisce 0x00010000
Bit Clear: 0x00010000 ?- 16 restituisce 0x00000000
Bit Test: 0x00010000 ?? 16 restituisce True
Inviato da: PierPaolo Sichera |
|
Visite: 12475 |
Se accedi con utente e password, puoi aggiungere dei commenti.