عامل التشغيل C # Bitwise Left Shift (<<)

Aml Altshghyl C Bitwise Left Shift



في برمجة C # ، يمكننا استخدام معاملات Bitwise لأداء عمليات مستوى البت. يتم حساب مستوى البت في وحدة المعالجة المركزية عندما نجري عمليات حسابية مثل الجمع أو الطرح أو الضرب أو القسمة. يمكننا أيضًا إجراء عمليات Bitwise في برمجة C # والعملية بسيطة. يقوم مشغلو Bitwise بإجراء عملية على القيمة المحددة. يتم أيضًا تحديد عدد البتات المراد إزاحتها. هناك ستة عوامل تشغيل Bitwise في لغة C # ، اثنان منهم عامل تحويل.

موضوع نقاشنا حول مشغلي التحول. سيتم شرح عامل إزاحة Bitwise لليسار (<<) بالتفصيل. عامل النقل ، كما يوحي الاسم ، ينقل البت من الموضع المحدد إلى اليسار أو إلى اليمين. يتم نقل القيمة إلى اليسار بالعدد المحدد من البتات أثناء استخدام عامل النقل الأيسر باتجاه أحادي (<<). تأخذ عوامل الإزاحة لليسار الإدخال فقط في int (عدد صحيح) ، uint (عدد صحيح بدون إشارة) ، طويل (عدد صحيح طويل) ، و ulong (عدد صحيح طويل بدون إشارة). عندما ينتمي المعامل الأيسر إلى نوع مختلف ، يتم تحويله إلى نوع العدد الصحيح. يحتفظ نوع بيانات القيمة الناتجة بحد 32 بت ؛ لا يمكن أن يكون الناتج أكبر من ذلك. تجعل عوامل تشغيل Bitwise الشفرة فعالة وأسرع. علاوة على ذلك ، فهي توفر المزيد من الدقة والدقة.

بناء الجملة:

عامل التشغيل_1 << Operand_2







أول 'Operand_1' هو القيمة التي يتم إزاحتها من اليسار إلى عدد التحولات التي يحتوي عليها 'Operand_2'. يزيح الرمز << لليسار 'Operand_1'.



مثال 1:

يتم تطبيق عامل إزاحة Bitwise لليسار (<<) على قيم الأعداد الصحيحة في هذا البرنامج.



باستخدام النظام ؛

فئة Program_1
{
ثابت الفراغ الرئيسي ( ) {
int Value_0 = 3. 4 ؛
int Value_1 = 65 ؛
int الدقة = القيمة_0 << القيمة_1 ؛
وحدة التحكم ( 'التحول إلى اليسار' ) ؛
وحدة التحكم ( الدقة ) ؛
}
}

تحتوي العبارة الأولى على إعلان وتهيئة متغيرين من نوع عدد صحيح. المتغير الأول هو 'Value_0' والمتغير الثاني 'Value_1'. القيم المخزنة فيها هي '34' و '65'. تركنا تحويل القيمة 34 باستخدام عامل النقل الأيسر (<<). بعد ذلك ، نعلن عن متغير آخر له نوع بيانات عدد صحيح لحفظ النتيجة. هنا ، نستخدم عامل النقل الأيسر (<<) باعتباره Value_0 << Value_1. هذا العامل الأيسر يزيح القيمة اليسرى للمعامل الأيسر بالقيمة المعطاة في المعامل الثاني. يخزن 'res' إخراج عامل التحويل. بعد ذلك ، نسمي طريقة Console.Write () لطباعة النص “The left shift is” والقيمة الناتجة المخزنة في “res” على الجهاز.





المثال 2:

دعنا نستخدم عامل النقل الأيسر على قيم الأعداد الصحيحة غير الموقعة ونرى كيف تنتج المخرجات.



باستخدام النظام ؛

فئة Program_2
{
ثابت الفراغ الرئيسي ( ) {
uint Val_0 = 4435 ؛
int Val_1 = 64 ؛
uint نتيجة = Val_0 << Val_1 ؛
وحدة التحكم ( 'التحول إلى اليسار' ) ؛
وحدة التحكم ( نتيجة ) ؛
}
}

هنا ، نطبق عامل التحول الأيسر على قيمة نوع العدد الصحيح بدون إشارة. شيء واحد يجب أن تهتم به هو أن المعامل الثاني يجب أن يكون قيمة نوع عدد صحيح لأن المحول البرمجي يأخذ فقط قيمة عدد صحيح لإزاحة.

بعد استدعاء الدالة Main () الفارغة الثابتة ، نعلن عن متغيرين - أحدهما هو قيمة عدد صحيح بدون إشارة 'Val_0' والآخر هو قيمة عدد صحيح 'Val_1'. بعد ذلك ، نحدد متغيرًا صحيحًا آخر بدون إشارة وهو 'نتيجة' للحفاظ على القيمة الناتجة بعد إزاحة العدد الصحيح بدون إشارة إلى اليسار. لا يمكننا تخزين النتيجة في متغير من نوع عدد صحيح لأنه بعد التبديل لليسار ، تكون النتيجة قيمة بدون إشارة. تقوم العبارة 'Val_0 << Val_1' لليسار بإزاحة المعامل الأيسر الذي يمثل قيمة عدد صحيح بدون إشارة. ينتج قيمة عدد صحيح بدون إشارة. في النهاية ، اعرض النتيجة على شاشة الإخراج بالنص 'التحول الأيسر هو' باستخدام طريقة Console.Write ():

المثال 3:

في هذه الحالة ، سنتحدث عن الطرق المختلفة لاستخدام عامل إزاحة اليسار Bitwise (<<) على قيم عدد صحيح طويل.

باستخدام النظام ؛

فئة Program_3
{
ثابت الفراغ الرئيسي ( ) {
رقم طويل_0 = أربعة خمسة ؛
رقم طويل_1 = 5 ؛

وحدة التحكم ( 'التحول الأيسر الطويل هو' ) ؛
وحدة التحكم ( number_0 << 3 ) ؛
وحدة التحكم ( 'التحول الأيسر الطويل هو' ) ؛
وحدة التحكم ( number_0 << تحويل إلى Int16 ( number_1 ) ) ؛
}
}

تتم تهيئة متغيرين من نوع عدد صحيح طويل ، 'number_0' و 'number_1' ، في العبارة الأولى. قم باستدعاء الدالة Console.Write () لتمثيل الرسالة 'التحول لليسار لفترة طويلة هو' والنتيجة على الجهاز. هنا ، نطبق عامل التحول الأيسر (<<) بطريقة نضع فيها المعامل الأول باعتباره المتغير الأول والمعامل الثاني كقيمة عدد صحيح. يقوم المترجم على اليسار بإزاحة المعامل الأول 'number_0' بمقدار 3 ويعرض النتيجة. في البيان التالي ، اطبع رسالة أخرى على الشاشة باستخدام طريقة Console.Write (). هنا ، نستخدم المتغير الأول ، 'number_0' ، باعتباره المعامل الأول والمتغير الثاني ، 'number_1' ، باعتباره المعامل الثاني. يجب أن يكون المعامل الثاني قيمة نوع عدد صحيح. قمنا بكتابة المتغير الثاني 'number_1' إلى نوع العدد الصحيح باستخدام الدالة Convert.ToInt16 (). ثم اعرض النتيجة على وحدة التحكم:

المثال 4:

يوضح هذا الرمز كيف يمكننا تعيين القيم إلى عدد صحيح بعد إجراء التحول إلى اليسار على المشغل الطويل غير الموقع.

باستخدام النظام ؛

فئة Program_4
{
ثابت الفراغ الرئيسي ( ) {
head number_0 = 445 ؛

وحدة التحكم ( 'التحول الأيسر في أولونغ هو' ) ؛
وحدة التحكم ( number_0 << 8 ) ؛
وحدة التحكم ( 'التحول الأيسر في أولونغ هو' ) ؛
وحدة التحكم ( number_0 << 16 ) ؛
وحدة التحكم ( 'التحول الأيسر في أولونغ هو' ) ؛
وحدة التحكم ( number_0 << 32 ) ؛

}
}

أولاً ، قم بتعريف متغير واحد من نوع عدد صحيح طويل بدون إشارة وهو 'number_0'. بعد ذلك ، اعرض النص 'التحول الأيسر لـ ulong هو' على الجهاز الطرفي باستدعاء طريقة Console.Write (). سنجد التحول الأيسر لـ 'number_0' بقيمة عددية 8 ولا نحتاج إلى تخزين النتيجة في أي مكان. تقوم وظيفة Console.WriteLine () بطباعة النتيجة على وحدة التحكم. كرر هذه العملية مرتين وقم بتغيير قيم المعامل الثاني. من خلال القيام بذلك ، يمكننا إيجاد إزاحة لليسار لقيمة نوع عدد صحيح طويل بدون إشارة. ولكن إذا أردنا حفظ القيمة الناتجة في متغير ، فيجب أن نضع في اعتبارنا أن النتيجة هي نفس نوع المعامل الأول. الاختلاف الوحيد بين Console.Write () و Console.WriteLine () هو أن الوظيفة الثانية تطبع النتيجة وترسل المؤشر إلى السطر التالي بينما تطبع الوظيفة الأولى النتيجة فقط ويومض المؤشر على نفس السطر حتى بعد عرض الإخراج.

استنتاج

استكشفنا عوامل Bitwise في C # وأنواعها ووظائفها. يتم تطبيق عامل الإزاحة الأيسر (<<) لتحويل الرقم أو القيمة من خلال العدد المحدد من البتات إلى اليسار. يعمل مشغلو Bitwise على تحسين كفاءة الكود ولا يثقل كاهل النظام نظرًا لكونهم مشغلين خفيفي الوزن. تعمل وحدة المعالجة المركزية (CPU) الخاصة بنا على مستوى Bitwise عندما نجري أي عمليات حسابية. باختصار ، تعتبر عوامل Bitwise مهمة في البرمجة وتدعم C # جميع معاملات Bitwise التي يكون عامل النقل الأيسر (<<) أحدها.