ما هو مشغل Bitwise في Java؟ وتصنيفها (مع أمثلة)

نشرت: 2021-05-20

تعد Java واحدة من أكثر لغات البرمجة انتشارًا في الهند ، حيث تستحوذ على حوالي 20 بالمائة من حصة السوق . عامل البت في Java هو رمز / تدوين يقوم بإجراء عملية محددة على وحدات بت مستقلة ، تؤخذ واحدة تلو الأخرى. يتم استخدامه لمعالجة البتات الفردية لعدد ثنائي ويمكن استخدامه مع مجموعة متنوعة من أنواع الأعداد الصحيحة - char ، int ، long ، short ، byte.

يمكن تصنيف عامل تشغيل أحادي المعامل في Java على نطاق واسع إلى 7 أنواع:

عامل Bitwise في Java رمز وصف
أحادي المعامل AND | يحتفظ قليلاً في النتيجة إذا وفقط إذا كان موجودًا في كلا المعاملين.
أحادي المعامل OR & يحتفظ قليلاً إذا كان موجودًا في أي من المعاملين.
Bitwise XOR ^ يحتفظ قليلاً إذا كان موجودًا فقط في معامل واحد ولكن ليس في كليهما.
مكتمل على مستوى البت ~ يُعرف أيضًا باسم مكمل 1. فقط قم بعكس أجزاء المعامل.
إزاحة لليسار على مستوى البت << يتم إزاحة البتات في المعامل الأيسر إلى اليسار بعدد الأماكن المحددة في المعامل الأيمن.
تم التوقيع على التحويل الأيمن >> يتم إزاحة البتات في المعامل الأيسر إلى اليمين بعدد الأماكن المحددة في المعامل الأيمن.
النقل الأيمن بدون توقيع >>> تمامًا مثل SIGNED RIGHT SHIFT بالإضافة إلى البتات التي تم إزاحتها يتم ملؤها بصفر.

دعنا الآن نستكشف بالتفصيل كل عامل تشغيل أحادي في Java:

جدول المحتويات

1. أو (أ | ب)

جدول الحقيقة

أ ب انتاج |
0 0 0
0 1 1
1 0 1
1 1 1

مثال

أ = 1011 1110

ب = 0011 0101

أ | ب = 1011 1111

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

المعامل int1 = 190 ، المعامل 2 = 53 ، الإخراج ؛

// bitwise OR بين 190 و 53

الإخراج = المعامل 1 | معامل 2

System.out.println (الإخراج) ؛ // برنامج يطبع 191

}

}

2. و (أ ، ب)

جدول الحقيقة

أ ب انتاج |
0 0 0
0 1 0
1 0 0
1 1 1

مثال

أ = 1011 1110

ب = 0011 0101

أ & ب = 0011 0100

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

المعامل int1 = 190 ، المعامل 2 = 53 ، الإخراج ؛

// bitwise OR بين 190 و 53

الإخراج = المعامل 1 | معامل 2

System.out.println (الإخراج) ؛ // برنامج يطبع 52

}

}

  1. شامل أو / XOR (A ^ B)

جدول الحقيقة

أ ب انتاج |
0 0 0
0 1 1
1 0 1
1 1 0

مثال

أ = 1011 1110

ب = 0011 0101

أ ^ ب = 1000 0011

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

المعامل int1 = 190 ، المعامل 2 = 53 ، الإخراج ؛

// bitwise OR بين 190 و 53

الإخراج = المعامل 1 | معامل 2

System.out.println (الإخراج) ؛ // برنامج يطبع 131

}

}

3. المكمل (أ ~ ب)

بالقيمة العشرية ، فإن تكملة البت للرقم A هي - (A + 1). ومع ذلك ، في المجال الثنائي ، نحتاج أولاً إلى حساب مكمل 1 الخاص به ثم تحويله إلى مكمل 2 للحصول على الناتج المطلوب.

1's Complement - فقط اعكس البتات. علي سبيل المثال:

أ = 1011 1110 (190)

1 مكمل A = 0100 0001

2 مكمل أ = 1 مكمل أ + 1 = 0100 0010

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

معامل int4 = 190 ، الإخراج ؛

// مكمل أحادي العدد 190

الإخراج = ~ operand4 ؛

System.out.println (الإخراج) ؛ // يطبع -191

}

}

  1. التحول الأيسر (A << 1)

افترض أن أ = ١٠١١ ١١١٠

أ << 1 =؟

يعمل عامل البت هذا في Java على إزاحة جميع وحدات البت إلى اليسار بمقدار 1 ، أي أن الناتج هو 0111 1100. يتم تجاهل البت الموجود في أقصى اليسار (البت الأكثر أهمية أو MSB) ، ويضاف 0 إلى أقصى مكان فارغ في أقصى اليمين ( بت الأقل أهمية أو LSB). يتم ذلك لكل مكان شاغر على اليمين.

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

معامل int = 3 ؛ // ثنائي - 11

// عملية إزاحة لليسار 1 بت

ناتج int = معامل << 1 ؛

System.out.println (الإخراج) ؛ // يطبع 2

}

}

4. النقل الأيمن الموقع (A >> 2)

هذا العامل أحادي المعامل في Java يزيح نمط البت إلى اليمين بعدد الأماكن المحدد. يتم تجاهل LSBs ، وتملأ MSBs بتة الإشارة. يمثل 0 علامة موجبة ، بينما يمثل 1 علامة سلبية.

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

معامل int 1 = 2 ؛

معامل 2 = -2 ؛

// 2 بت التحول الصحيح

System.out.println (معامل 1 >> 2) ؛ // يطبع 1

System.out.println (معامل 2 >> 2) ؛ // يطبع -1

}

}

5. ناقل الحركة الأيمن غير الموقع (A >>> 2)

تتشابه العملية هنا تمامًا مع SIGNED RIGHT SHIFT فيما عدا أنه يتم استبدال البتات الشاغرة في اليسار بـ 0 بدلاً من بتات الإشارة.

بناء الجملة

فئة رئيسية {

العامة الثابتة الفراغ الرئيسي (سلسلة [] args) {

معامل int = 240 ؛ // رقم ثنائي - 1111 0000

// 2 بت التحول الصحيح غير الموقعة

System.out.println (معامل >>> 2) ؛ // يطبع 60

}

}

تعلم دورات هندسة البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.

خاتمة

هل أنت حريص على إتقان جافا وعمل مهنة للخروج منها؟ تحقق من برنامج upGrad's Software & Technology Track. سجّل في برنامج Executive PG لمدة 13 شهرًا في برنامج Full-Stack Development واجعل يديك متسخين بمشروعات حقيقية. من خلال الانضمام إلى IIIT Bangalore المشهور ، تحصل على فرصة لتعلم 16 لغة وأدوات برمجة ، و 3 مقابلات عمل مضمونة.

ما هي معاملات أحادي المعامل؟

عامل أحادي المعامل يعمل على كل بت من المعاملات ويعيد النتيجة في شكل 1s و 0s. تُستخدم معظم عوامل تشغيل البت في عمل أقنعة مختلفة ، والتي يمكن استخدامها لإنشاء حقول بت ، وتغيير حجم نوع البيانات ومحاذاة نوع البيانات. تُستخدم معاملات Bitwise لأداء عملية بت بت على رقم ثنائي. يتم استخدامه ليكون أكثر كفاءة في عمليات مستوى البت. لا يمكننا استخدام عامل أحادي المعامل على متغيرات من أنواع البيانات غير الصحيحة.

ما هي أنواع معاملات البت في جافا؟

في لغة جافا ، بصرف النظر عن العوامل الحسابية ، تُستخدم أيضًا معاملات البت. على الرغم من وجود عدد قليل فقط من عوامل تشغيل البت ، إلا أنها يمكن أن تكون مفيدة للغاية. في جافا هناك ستة مشغلين. وهي: Bitwise AND و Bitwise OR و Bitwise XOR و Bitwise Left Shift و Bitwise Right Shift و Ones Complement. يمكن تطبيق عوامل التشغيل هذه على أنواع الأعداد الصحيحة بايت ، قصير ، صحيح ، طويل ، وحرف.

ما هي مميزات لغة البرمجة جافا؟

Java هي لغة برمجة موجهة للأغراض العامة. عادةً ما يتم تجميع تطبيقات Java في رمز بايت ، والذي يتم تنفيذه بعد ذلك على Java Virtual Machine. تم تصميم Java للتشغيل على مجموعة متنوعة من الأنظمة الأساسية. وهي مصممة أيضًا لاستخدامها في بيئة الحوسبة الموزعة. يسمى البرنامج المكتوب بلغة برمجة Java تطبيق Java أو بيئة تطبيق Java. لغة البرمجة جافا هي لغة قوية ومرنة. غالبًا ما تكون تطبيقات Java أكبر وأكثر تعقيدًا من تطبيقات الويب العادية. لغة برمجة Java هي لغة للأغراض العامة. يمكن استخدامه لإنشاء تطبيقات لأي غرض. ميزات مثل تعدد مؤشرات الترابط والشبكات والأمان والمثابرة تجعل Java مناسبة لمجموعة متنوعة من الاستخدامات.