60 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
		
		
			
		
	
	
			60 lines
		
	
	
		
			3.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
|   | --- | ||
|  | title: bitwise operator example | ||
|  | localeTitle: مثال على معامل البت | ||
|  | --- | ||
|  | # مشغلات bitwise
 | ||
|  | 
 | ||
|  | ## جدول الحقيقة
 | ||
|  | 
 | ||
|  |  | ||
|  | 
 | ||
|  | تشبه مشغلات bitwise المشغلين المنطقيين ، إلا أنها تعمل على نطاق أصغر - تمثيل البيانات الثنائية. يمكن تحويل أي بيانات إلى مكافئها الثنائي. على الرغم من أن المشغلين الثنائيين يعملون على المستوى الثنائي إلا أنه يتم تشغيلهم بين القيم العشرية العادية فقط. | ||
|  | 
 | ||
|  | ## أنواع المشغلين bitwise
 | ||
|  | 
 | ||
|  | ### Bitwise OR
 | ||
|  | 
 | ||
|  | Bitwise OR هو مشغل ثنائي (يعمل على اثنين من المعاملات). تدل عليه |. ذا | عامل التشغيل يقارن البتات المقابلة من اثنين من المعاملات. إذا كان أي من البتات هو 1 ، فإنه يعطي 1. إن لم يكن ، فإنه يعطي 0. | ||
|  | 
 | ||
|  | ### Bitwise AND
 | ||
|  | 
 | ||
|  | Bitwise AND هو مشغل ثنائي (يعمل على اثنين من المعاملات). تدل عليه &. يقوم المشغل بمقارنة البتات المقابلة من اثنين من المعاملات. إذا كان كلا البتات 1 ، فإنه يعطي 1. إذا كان أي من البتات ليس 1 ، فإنه يعطي 0. | ||
|  | 
 | ||
|  | ### Bitwise Complement
 | ||
|  | 
 | ||
|  | مكمّل Bitwise هو مشغل وحيد (يعمل على مُعامل واحد فقط). هو تدل عليه ~. يقوم المشغل ~ بتغيير نمط البتة. يجعل كل 0 إلى 1 ، وكل 1 إلى 0. | ||
|  | 
 | ||
|  | ### Bitwise XOR
 | ||
|  | 
 | ||
|  | Bitwise XOR هو مشغل ثنائي (يعمل على اثنين من المعاملات). تدل عليه ^. عامل التشغيل ^ يقارن البتات المقابلة من اثنين من المعاملات. إذا كانت البتات المقابلة مختلفة ، فإنها تعطي 1. إذا كانت البتات المقابلة متماثلة ، فإنها تعطي 0. | ||
|  | 
 | ||
|  | ### التحول الأيسر
 | ||
|  | 
 | ||
|  | يقوم عامل تشغيل shift الأيسر << بنقل نمط بت إلى اليسار بواسطة عدد معين من البتات المحددة ، ويتم نقل البتات الصفرية إلى مواقع الترتيب المنخفض. | ||
|  | 
 | ||
|  | ### النقلة الصحيحة
 | ||
|  | 
 | ||
|  | يقوم مشغل shift الصحيح >> بنقل شكل بت إلى اليمين بواسطة عدد معين من وحدات البت المحددة.إذا كان الرقم رقمًا مكملاً مكملاً لثانيتين ، يتم نقل بت الإشارة إلى المواضع ذات الترتيب العالي. | ||
|  | 
 | ||
|  | ### غير لليمين التحول
 | ||
|  | 
 | ||
|  | عامل shift shift غير الموقعة >>> ينقل صفر في الموضع الموجود في أقصى اليسار. | ||
|  | 
 | ||
|  | ### مثال على معامل البتات:
 | ||
|  | 
 | ||
|  |  `    int a = 60;          /* 60 = 0011 1100 represents 60 in binary*/  | ||
|  |     int b = 13;          /* 13 = 0000 1101 */  | ||
|  |     int c = 0;  | ||
|  |   | ||
|  |     c = a & b;        /* 12 = 0000 1100 */  | ||
|  |     c = a | b;        /* 61 = 0011 1101 */  | ||
|  |     c = a ^ b;        /* 49 = 0011 0001 */  | ||
|  |     c = ~a;           /*-61 = 1100 0011  :Invert all bits */  | ||
|  |   | ||
|  |     // shift operators : zeros are shifted in to replace the discarded bits  | ||
|  |     c = a << 2;       /* 240 = 1111 0000 : Shift left 2 bits*/  | ||
|  |     c = a >> 2;       /* 15 = 1111 */  | ||
|  |     c = a >>> 2;      /* 15 = 0000 1111 : Zero fill right shift*/  | ||
|  | `  | ||
|  | 
 | ||
|  | **لمزيد من المعلومات:** [انقر هنا](https://docs.oracle.com/javase/tutorial/java/nutsandbolts/op3.html) |