2.3.4.1 Operazioni bit-string su tipi interi

I tipi interi e long supportano operazioni aggiuntive che hanno significato solo per le bit-string. I numeri negativi vengono trattati come se fossero in complemento a 2 (per gli interi long, questo significa un sufficentemente largo numero di bit che non causino un overflow durante le operazioni).

Le priorità delle operazione binarie bit per bit sono tutte inferiori di quelle delle operazioni numeriche, e superiori a quelle delle comparazioni; le operazioni unarie "~" hanno la stessa priorità delle altre operazioni numeriche unarie ("+" e "-").

Questa tabella illustra le operazioni bit-string ordinate per priorità ascendente (operazioni nello stesso gruppo hanno la stessa priorità):

Operazione  Risultato  Note 
x | y bit per bit or di x e y  
x ^ y bit per bit or eclusivo di x e y  
x & y bit per bit and di x e y  
x « n x scorrimento a sinistra di n bit (1), (2)
x » n x scorrimento a destra di n bit (1), (3)
~x i bit di x invertiti  

Note:

(1)
I conteggi negativi dello scorrimento sono illegali e sollevano un'eccezione ValueError.
(2)
Uno scorrimento di n bit a sinistra è equivalente alla moltiplicazione per pow(2, n) senza il controllo sull'overflow.
(3)
Uno scorrimento a destra di n bit è equivalente alla divisione per pow(2, n) senza il controllo sull'overflow.

Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.