<< (bitshift left)



Açıklama

Sol kaydırma operatörü << , sol işlenen bitlerinin sağ işlenen tarafından belirtilen konum sayısına göre sola kaydırılmasına neden olur.

Sözdizimi

variable << number_of_bits;

Parametreler

variable : İzin verilen veri türleri: byte , int , long .
number_of_bits : <= 32 olan bir sayı. İzin verilen veri türleri: int .

Ö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"); } } } 

Ayrıca Bakınız