<<[Bitsel Operatörler]

Açıklama

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

Sözdizimi

değişken << bit_sayısı;

Parametreler

değişken: İzin verilen veri türleri: byte, int, long. bit_sayısı: <=32 olan bir sayı. İzin verilen veri türleri: int.

Örnek Kod

                    
                        int a = 5;      // binary: 0000000000000101
                        int b = a << 3; // binary: 0000000000101000, veya ondalık olarak 40
                    

                

Notlar ve Uyarılar

Bir x değerini y bit (x << y) değiştirdiğinizde, x'in en soldaki y biti kaybolur, kelimenin tam anlamıyla varolmaz:

                    int x = 5; // binary: 0000000000000101
                    int y = 14;
                    int result = x << y; // binary: 0100000000000000 - 101'de ilk 1 atıldı

Bir değerdeki hiçbirinin unutulmaya kaydırılmadığı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'nin güçlerini oluşturmak 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 alttan (LSB) yukarıya (MSB) hareket etmek için sol kaydırma operatörünü kullanarak seri monitöre alınan bir baytın değerini yazdırmak ve Binary değerini yazdırmak için kullanılabilir:

//Baytın İkili değerini (1 veya 0) yazdırır
void printOut1(int c) {
for (int bits = 7; bits > -1; bits--) {
//7-0 bitlerini bayt olarak karşılaştırın
if (c & (1 << bits)) {
Serial.print("1");
}
else {
Serial.print("0");
}
 }
  }
                        

Ayrıca Bakınız

MİSAL BitMath Eğitimi