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:
pow(2, n)
senza il controllo
sull'overflow.
pow(2, n)
senza il controllo sull'overflow.
Vedete Circa questo documento... per informazioni su modifiche e suggerimenti.