<Precedenti | Contenuti | Succ.>
Operazioni sui bit
Una classe di operatori manipola i numeri in un modo insolito. Questi operatori operano a livello di bit. Sono utilizzati per determinati tipi di attività di basso livello, che spesso comportano l'impostazione o la lettura di flag di bit.
Tabella 34-5: Operatori bit
Descrizione dell'operatore
Descrizione dell'operatore
~ Negazione bit a bit. Nega tutti i bit di un numero.
<< Spostamento bit a bit a sinistra. Sposta tutti i bit di un numero verso sinistra.
>> Spostamento bit a bit a destra. Sposta tutti i bit di un numero verso destra.
& AND bit a bit. Esegue un'operazione AND su tutti i bit di due numeri.
| OR bit a bit. Esegue un'operazione OR su tutti i bit di due numeri.
^ XOR bit a bit. Esegue un'operazione OR esclusivo su tutti i bit di due numeri.
Si noti che esistono anche operatori di assegnazione corrispondenti (ad esempio, <<=) per tutti tranne che per la negazione bit a bit.
Qui dimostreremo come produrre un elenco di potenze di 2, utilizzando l'operatore di spostamento bit a bit a sinistra:
[io@linuxbox~]$ per ((i=0;i<8;++i)); esegui echo $((1<
1
2
4
8
16
32
64
128
[io@linuxbox~]$ per ((i=0;i<8;++i)); esegui echo $((1<
1
2
4
8
16
32
64
128