Példa
int a = 5; // binárisan: 0000000000000101
int b = a << 3; // binárisan: 0000000000101000, vagy 40 in decimálisan
Megjegyzések és figyelmeztetések
Ha egy x értéket y bittel eltol (x << y), akkor az x bal szélső, y db bitje elveszik, szó szerint kitolódik a létezésből:
int x = 5; // binárisan: 0000000000000101
int y = 14;
int result = x << y; // binárisan: 0100000000000000 - az első 1-es a 101-ből elveszik
Ha biztos abban, hogy az értékek egyike sem tolódik feledésbe, akkor a balra eltolás operátort egyszerűen úgy gondolhatja, hogy a bal oldali operandust megszorozza 2-vel a jobb operandus hatványára emelve. Például 2 hatványainak generálásához a következő kifejezések használhatók:
Művelet Eredmény
------- --------
1 << 0 1
1 << 1 2
1 << 2 4
1 << 3 8
...
1 << 8 256
1 << 9 512
1 << 10 1024
...
A következő példa használható egy fogadott bájt értékének kinyomtatására a soros monitorra, a bal shift operátor használatával a bájton alulról (LSB) felfelé (MSB) történő mozgáshoz, és kinyomtathatja a bináris értékét:
// Kiírja a bájt bináris értékét (1 vagy 0).
void printOut1(int c) {
for (int bits = 7; bits > -1; bits--) {
// Hasonlítsa össze a 7-0 biteket a bájtban
if (c & (1 << bits)) {
Serial.print("1");
}
else {
Serial.print("0");
}
}
}