Le operazioni di scorrimento hanno una priorità minore rispetto alle operazioni aritmetiche:
shift_expr |
::= | a_expr
| shift_expr ( "«" | "»" ) a_expr |
Questi operatori accettano come argomento numeri interi semplici o long. Gli argomenti vengono convertiti in un tipo comune. Essi scorrono il primo argomento a sinistra o a destra di un numero di bit dato dal secondo argomento.
Uno scorrimento a destra di n bit viene definito come la
divisione di pow(2,n)
. Uno scorrimento a sinistra di
n bit viene definito come la moltiplicazione di
pow(2,n)
; per interi semplici non c'è controllo
sull'overflow, così in questo caso l'operazione diminuisce i bit e
inverte il segno se il risultato non è minore di pow(2,31)
in
valore assoluto. Scorrimenti di valori negativi sollevano l'eccezione
ValueError.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.