<<İşleç (Visual Basic)

Bit bir düzende aritmetik sola kaydırma gerçekleştirir.

Syntax

result = pattern << amount  

Bölümler

result
Gereklidir. Integral sayısal değeri. Bit deseninin kaydırinme sonucu. Veri türü, ile aynıdır pattern .

pattern
Gereklidir. Integral sayısal ifadesi. Kaydırılan bit deseninin. Veri türü bir integral türü ( SByte , Byte ,,,, Short UShort Integer UInteger , Long , veya ULong ) olmalıdır.

amount
Gereklidir. Sayısal ifade. Bit deseninin kaydırılacak bit sayısı. Veri türü Integer veya olarak ayarlanmalıdır Integer .

Açıklamalar

Aritmetik vardiyalar dairesel değildir, bu da sonucun bir sonunun dışına sürüklenen bitlerin diğer uçta yeniden tanıtılmadığını gösterir. Aritmetik sola kaydırma içinde, sonuç veri türü aralığının ötesinde kaydırılan bitler atılır ve sağdaki bit konumları sıfır olarak ayarlanır.

vardiyanın, sonucun tutabileceğinden daha fazla bit olmasını engellemek için, ' ın değerini, amount veri türüne karşılık gelen bir boyut maskesiyle Visual Basic pattern . Bu değerlerin ikili dosyası ve kaydırma miktarı için kullanılır. Boyut maskeleri aşağıdaki gibidir:

Veri türü pattern Boyut maskesi (ondalık) Boyut maskesi (onaltılık)
SByte, Byte 7 &H00000007
Short, UShort 15 &H0000000F
Integer, UInteger 31 &H0000001F
Long, ULong 63 &H0000003F

amountSıfırsa, değeri result değeri ile aynıdır pattern . amountNegatifse, işaretsiz bir değer olarak alınır ve uygun boyut maskesiyle maskelenir.

Aritmetik vardiyalar hiçbir şekilde taşma özel durumu oluşturmaz.

Not

<<İşleç aşırı yüklenebilir, yani bir işlenen bu sınıf veya yapının türüne sahip olduğunda bir sınıf veya yapının davranışını yeniden tanımlayabileceği anlamına gelir. Kodunuz böyle bir sınıf veya yapıda bu işleci kullanıyorsa, yeniden tanımlanmış davranışını anladığınızdan emin olun. Daha fazla bilgi için bkz. operatör yordamları.

Örnek

Aşağıdaki örnek, << tam sayı değerlerinde aritmetik sol vardiyaları gerçekleştirmek için işlecini kullanır. Sonuç, kaydırılan deyimden her zaman aynı veri türüne sahiptir.

Dim pattern As Short = 192
' The bit pattern is 0000 0000 1100 0000.
Dim result1, result2, result3, result4, result5 As Short
result1 = pattern << 0
result2 = pattern << 4
result3 = pattern << 9
result4 = pattern << 17
result5 = pattern << -1

Önceki örneğin sonuçları aşağıdaki gibidir:

  • result1 192 ' dir (0000 0000 1100 0000).

  • result2 3072 ' dir (0000 1100 0000 0000).

  • result3 -32768 (1000 0000 0000 0000).

  • result4 384 ' dir (0000 0001 1000 0000).

  • result5 0 ' dır (sola kaydırılacağı 15 konum).

İçin kaydırma miktarı result4 17 ve 15 olarak hesaplanır, 1 eşittir.

Ayrıca bkz.