I bit di un numero possono scorrere, scivolare verso sinistra o verso destra
Uso | Descrizione | |
---|---|---|
<< |
op1 << op2 |
Scorre a sinistra i bit di op1 (op2 volte) |
>> |
op1 >> op2 |
Scorre a destra i bit di op1 (op2 volte) |
>>> |
op1 >>> op2 |
Scorre a destra i bit di op1 (op2 volte) Senza riguardo per il segno |
Esempi
In base 10 | In complemento a 2 | |
---|---|---|
1 | 10 << 2 = 40 | (... 00001010) << 2 (... 00101000) |
2 | -10 << 2 = -40 | (11111111 11111111 11111111 11110110) << 2 (11111111 11111111 11111111 11011000) |
3 | 10 >> 2 = 2 | (... 00001010) >> 2 (... 00000010) |
4 | -10 >> 2 = -3 | (11111111 11111111 11111111 11110110) >> 2 (11111111 11111111 11111111 11111101) |
5 | -10 >>> 2 = 1073741821 | (11111111 11111111 11111111 11110110) >>> 2 (00111111 11111111 11111111 11111101) |