>>= Operator (Visual Basic)
Melakukan pergeseran kanan aritmatika pada nilai variabel atau properti dan menetapkan hasilnya kembali ke variabel atau properti tersebut.
Sintaks
variableorproperty >>= amount
Generator
variableorproperty
Harus diisi. Variabel atau properti dari jenis integral (SByte
, Byte
, Short
, UShort
, Integer
, UInteger
, Long
, atau ULong
).
amount
Harus diisi. Ekspresi numerik dari jenis data yang melebar ke Integer
.
Keterangan
Elemen di sisi kiri operator >>=
dapat menjadi variabel skalar sederhana, properti, atau elemen array. Variabel atau properti tidak boleh ReadOnly.
Operator >>=
pertama-tama melakukan pergeseran kiri aritmatika pada nilai variabel atau properti. Operator kemudian menetapkan hasil operasi tersebut kembali ke variabel atau properti itu.
Pergeseran aritmatika tidak melingkar, yang berarti bit yang digeser dari salah satu ujung hasil tidak diperkenalkan kembali di ujung lainnya. Dalam pergeseran aritmatika ke kanan, bit yang digeser di luar posisi bit paling kanan dibuang, dan bit paling kiri disebarkan ke posisi bit yang dikosongkan di sebelah kiri. Ini berarti bahwa jika variableorproperty
memiliki nilai negatif, posisi yang dikosongkan diatur ke satu. Jika variableorproperty
positif, atau jika jenis datanya adalah jenis yang tidak ditandatangani, posisi kosong diatur ke nol.
Kelebihan beban
Operator>> dapat mengalami kelebihan beban, yang berarti bahwa kelas atau struktur dapat mendefinisikan ulang perilakunya saat operand memiliki jenis dari kelas atau struktur tersebut. Kelebihan beban operator >>
memengaruhi perilaku operator >>=
. Jika kode Anda menggunakan >>=
pada kelas atau struktur yang kelebihan beban >>
, pastikan Anda memahami perilaku yang diartikan ulang. Untuk informasi lebih lanjut, lihat Prosedur Operator.
Contoh
Contoh berikut menggunakan operator >>=
untuk mengalihkan pola bit variabel Integer
ke kanan dengan jumlah tertentu dan menetapkan hasilnya ke variabel itu.
Dim var As Integer = 10
Dim shift As Integer = 2
var >>= shift
' The value of var is now 2 (two bits were lost off the right end).