ما هو عامل تشغيل الأنابيب المتساوي (=)؟
المطورين الذين واجهوا عامل تشغيل الأنابيب المتساوي (|=) في المصادر المفتوحة قد يتساءل رمز المكتبة عن معناه. هذا العامل، الذي غالبًا ما يتم الخلط بينه وبين تعيين منطقي، يحمل عملية OR ذات اتجاه بت كبير.
فهم Bitwise OR
يعمل عامل تشغيل الأنابيب المتساوي |= بشكل مماثل لـ =. في الكود أدناه، يجمع عامل التشغيل |= القيمة الأصلية للإعدادات الافتراضية مع الثابت DEFAULT_SOUND:
notification.defaults |= Notification.DEFAULT_SOUND;
هذه العملية تعادل:
notification.defaults = notification.defaults | Notification.DEFAULT_SOUND;
حيث | يشير إلى عامل التشغيل bitwise OR.
Bitwise OR في الأقنعة الثابتة
في المثال المقدم، الثوابت DEFAULT_SOUND وDEFAULT_VIBRATE وDEFAULT_LIGHTS هي قوى للعدد اثنين:DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 يسمح هذا باستخدام البت OR لإضافة أو إزالة العلامات. على سبيل المثال:int myFlags = DEFAULT_SOUND | DEFAULT_VIBRATE؛ // 001 | 010 = 011
DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 إضافة علامة أخرى:myFlags |= DEFAULT_LIGHTS;DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 يؤدي ببساطة إلى إلحاق علامة جديدة.اختبار وجود العلم
يختبر عامل التشغيل AND (&) وجود العلامة:boolean hasVibrate = (DEFAULT_VIBRATE & myFlags) != 0;DEFAULT_SOUND = 1 DEFAULT_VIBRATE = 2 (1 إذا كانت النتيجة هي غير الصفر، يتم تعيين العلم.
تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3