Örnek Kod
int a = 5; // binary: 0000000000000101
int b = a << 3; // binary: 0000000000101000, or 40 in decimal
Notlar ve Uyarılar
X değerini y bitleriyle (x << y) kaydırdığınızda, x içindeki en soldaki y bitleri kaybolur ve kelimenin tam anlamıyla varlığını yitirir:
int x = 5; // binary: 0000000000000101 int y = 14; int result = x << y; // binary: 0100000000000000 - the first 1 in 101 was discarded
Bir değerdeki hiç kimsenin unutulmayacağından eminseniz, sola kaydırma operatörünü düşünmenin basit bir yolu, sol işleneni sağ işlenen gücüne yükseltilmiş 2 ile çarpmasıdır. Örneğin, 2 güç üretmek için aşağıdaki ifadeler kullanılabilir:
Operation Result --------- ------ 1 << 0 1 1 << 1 2 1 << 2 4 1 << 3 8 ... 1 << 8 256 1 << 9 512 1 << 10 1024 ...
Aşağıdaki örnek, bayt boyunca aşağıdan (LSB) yukarı (MSB) gitmek ve İkili değerini yazdırmak için sol kaydırma operatörünü kullanarak alınan baytın değerini seri monitöre yazdırmak için kullanılabilir:
// Prints out Binary value (1 or 0) of byte void printOut1(int c) { for (int bits = 7; bits > -1; bits--) { // Compare bits 7-0 in byte if (c & (1 << bits)) { Serial.print("1"); } else { Serial.print("0"); } } }