عامل التشغيل >> (Visual Basic)
ينفذ إزاحة حسابية لليسار لنقش البت.
result = pattern << amount
الأجزاء
result
مطلوبة. قيمة رقمية متكاملة. ناتج إزاحة نقش البت. نوع البيانات هو نفسه ل pattern.pattern
مطلوبة. تعبير رقمي متكامل (لا يتجزأ). نقش البت الذي تم إزاحته. نوع البيانات يجب أن يكون نوع متكامل (SByte، Byte، Short، UShort، Integer، UInteger، Long، أو ULong).amount
مطلوبة. تعبير رقمي. عدد وحدات البت لإزاحة نقش البت. نوع البيانات يجب أن يكون Integer أو موسع إلى Integer.
ملاحظات
الإزاحات الحسابية ليست دائرية ، وهذا يعني أن البت الذي أزيح من أحد أطراف النتيجة لا يظهر مجددًا في الطرف الآخر . في الازاحة إلى يسارِ الحسابيِة, البت التي تم ازاحتها خارج نطاق نتائج نوع البيانات يتم تجاهلها و يتم تعيين مواضع البت المفرغة على اليمين إلى صفر.
لتجنب إزاحة بت أكثر مما تتسع النتيجة ، Visual Basic يغطي قيمة amount بتغيير حجم القناع ليوافق نوع بيانات pattern. يتم استخدام AND الثنائية لهذه القيم للمقدار المزاح. تغيير حجم الأقنعة كالتالي:
نوع بيانات pattern |
تغيير حجم القناع (عشري) |
تغيير حجم القناع (سداسي عشري) |
---|---|---|
SByte, Byte |
7 |
&H00000007 |
Short, UShort |
15 |
&H0000000F |
Integer, UInteger |
31 |
&H0000001F |
Long, ULong |
63 |
&H0000003F |
إذا كانت amount تساوي صفر فإن قيمة result تماثل قيمة pattern. إذا كان amount سالباً، فإنه يتم أخذها كقيمة طبيعية ويتم حجبها مع قناع بحجم المناسب.
الإزاحات الحسابية لا تولِد استثناءات تجاوز السعة.
ملاحظة
عامل التشغيل << يمكن أن يكون محمل بشكل زائد ، مما يعني أنه يمكن للفئة أو البنية إعادة تعريف سلوكها عندما يُشير مُعامل يحتوي على نوع هذه الفئة أو البنية. إذا كانت التعليمات البرمجية الخاصة بك تستخدم عامل التشغيل هذا على مثل هذه الفئة أو البنية، تأكد من فهمك لسلوكها المعاد تعريفه. لمزيد من المعلومات، راجع إجراءات عامل التشغيل.
مثال
يستخدم المثال التالي معامل << لإجراء إزاحات حسابية لليسار على القيم المتكاملة. دوماً الناتج له نفس نوع البيانات للتعبير الذي تمت إزاحته.
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
نتائج المثال السابق كما يلي:
result1 هو 192 (0000 0000 1100 0000).
result2 هو 3072 (0000 1100 0000 0000).
result3 هو -32768 (1000 0000 0000 0000).
result4 هو 384 (0000 0001 1000 0000).
result5 هي 0 (مزاحة 15 خانة لليسار).
مقدار الإزاحة ل result4 يحسب كـ AND بين 15 و 17 والتي تساوي 1.
راجع أيضًا:
المرجع
<<= عامل التشغيل (Visual Basic)
أسبقية عامل التشغيل في Visual Basic
عوامل تشغيل مسرودة حسب الوظيفة