Operatore di spostamento a sinistra bit per bit (<<)
Aggiornamento: novembre 2007
Consente di spostare verso sinistra i bit di un'espressione.
expression1 << expression2
Argomenti
expression1
Qualsiasi espressione numerica.expression2
Qualsiasi espressione numerica.
Note
Mediante l'operatore << vengono spostati i bit di expression1 verso sinistra del numero di bit specificato in expression2. Il tipo di dati utilizzato in expression1 determina il tipo di dati restituito dall'operatore.
Viene eseguito il mascheramento di expression2 per impedire che lo spostamento di expression1 sia eccessivo. In caso contrario, se l'entità dello spostamento eccedesse il numero di bit incluso nel tipo di dati di expression1, tutti i bit originali verrebbero spostati in misura tale da non poter fornire un risultato significativo. Per garantire che ad ogni spostamento venga mantenuto almeno uno dei bit originali, gli operatori appropriati calcolano l'entità effettiva dello spostamento utilizzando la seguente formula: mascheramento dell'argomento expression2 mediante l'operatore AND bit per bit con un numero di bit inferiore di un'unità rispetto a quello specificato in expression1.
Esempio
Ad esempio:
var temp
temp = 14 << 2
Il valore della variabile temp è 56 in quanto, dopo uno spostamento a sinistra di due bit, il valore 14 (00001110 in formato binario) risulta uguale a 56 (00111000 in formato binario).
Mediante l'esempio seguente è possibile comprendere le modalità di funzionamento del mascheramento.
var x : byte = 15;
// A byte stores 8 bits.
// The bits stored in x are 00001111
var y : byte = x << 10;
// Actual shift is 10 & (8-1) = 2
// The bits stored in y are 00111100
// The value of y is 60
print(y); // Prints 60
Requisiti
Vedere anche
Concetti
Coercizione mediante gli operatori bit per bit
Riferimenti
Operatore di assegnazione di spostamento a sinistra (<<=)