<< Operator (Visual Basic)
Wykonuje arytmetyczne, lewy shift wzorzec bitowy.
result = pattern << amount
Części
result
Wymagane.Integralną wartość liczbową.Wynik przesuwanie wzorzec bitowy.Typ danych jest taka sama, jak w przypadku pattern.pattern
Wymagane.Integralną wyrażenia liczbowego.Wzorzec bitowy, tak aby pasowała.The data type must be an integral type (SByte, Byte, Short, UShort, Integer, UInteger, Long, or ULong).amount
Wymagane.Wyrażenia liczbowego.Liczba bitów przesunięcie wzorca bitów.Typ danych musi być Integer lub rozszerzyć do Integer.
Uwagi
Arytmetyczne przesunięcia nie są cykliczne, co oznacza bitów, poza jednym końcu wynik nie są ponownie wprowadzone na drugim końcu.W arytmetyczną lewy shift bitów, przesunięte poza zakres typu danych są odrzucane i pozycjach naboru po prawej stronie są ustawione na zero.
Aby zapobiec shift przez bity więcej niż może pomieścić wynik, Visual Basic maski wartość amount z maską rozmiar odpowiadający typowi danych z pattern.Binarne i z tych wartości jest używany do kwoty shift.Rozmiar maski są w następujący sposób:
Typ danychpattern |
Rozmiar maski (dziesiętny) |
Rozmiar maski (szesnastkowo) |
---|---|---|
SByte, Byte |
7 |
& H00000007 |
Short, UShort |
15 |
& H0000000F |
Integer, UInteger |
31 |
& H0000001F |
Long, ULong |
63 |
& H0000003F |
Jeśli amount jest zero, wartość result jest taka sama, jak wartość pattern.Jeśli amount jest negatywny, jest jako wartość bez znaku i maskowane przez maskę odpowiedni rozmiar.
Arytmetyczne w systemie zmianowym nigdy wygenerować wyjątków przepełnienia.
[!UWAGA]
<< Operator może być nadmiernie, co oznacza, że klasy lub struktury można ponownie zdefiniować jego zachowanie podczas operand ma typ tej klasy lub struktury.Jeśli użyty kod używa tego operatora na klasy lub struktury, należy dokładnie zrozumieć jej zachowanie przedefiniować.Aby uzyskać więcej informacji, zobacz Operator procedur (Visual Basic).
Przykład
W poniższym przykładzie użyto << operatora do wykonywania opuścił przesunięcia na integralną wartości arytmetycznej.Wynik ma zawsze dane tego samego typu jak wyrażenie jest przesuwane.
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
Dostępne są następujące wyniki poprzedniego przykładu:
result1jest 192 (0000 do 0000 1100 0000).
result2jest 3072 (0000 1100 0000 do 0000).
result3jest z przedziału od –32 768 (1000 0000 0000 do 0000).
result4jest 384 (0000, 0001 1000 0000).
result5jest równa 0 (przesuniętych 15 miejsc po lewej stronie).
Kwota shift dla result4 jest obliczana jako 17 15 I, jest równe 1.
Zobacz też
Informacje
Bitowe operatory Shift (Visual Basic)
Operatory przypisania (Visual Basic)
Pierwszeństwo operatorów w języku Visual Basic
Podmioty wymienione według funkcji (Visual Basic)