03-16-2021
|
#10
|
بيانات اضافيه [
+
]
|
رقم العضوية : 339
|
تاريخ التسجيل : Nov 2020
|
أخر زيارة : 03-14-2024 (05:17 PM)
|
المشاركات :
1,341 [
+
] |
التقييم : 21461
|
الجنس ~
|
|
لوني المفضل : Black
|
|
معاملات bitwise
![](https://i.imgur.com/UKrGKye.png)
وهي عباره عن مجموعة معاملات
![](https://i.imgur.com/fFp0tHV.png)
هذي المعاملات تقوم بوظائف على مستوى البت ( bit )
![](https://i.imgur.com/fFp0tHV.png)
المعاملات اللي بتحدث عنها هي : AND, OR, XOR, NOT
![](https://i.imgur.com/hlsHyHi.png)
أول خطوه راح تنفذها جميع هذي المعاملات
![](https://i.imgur.com/fFp0tHV.png)
انها بتاخذ الأعداد اللي بنمررها لها
![](https://i.imgur.com/fFp0tHV.png)
ثم بتحولها من قيمه عشريه إلى قيمه ثنائيه ( Decimal To Binary )
![](https://i.imgur.com/fFp0tHV.png)
بعدها نبي نمر على كل معامل ونشوف وش خطوته التاليه ...
![](https://i.imgur.com/HSaV3d9.png)
مثال : a71 AND 221
![](https://i.imgur.com/qvNQl4p.png)
الآن
![](https://i.imgur.com/fFp0tHV.png)
الخطوه التاليه للمعامل .. راح ياخذ القيمتين السابقه
![](https://i.imgur.com/fFp0tHV.png)
ثم يقارن قيمة كل بت في الصف الأول
![](https://i.imgur.com/fFp0tHV.png)
مع قيمة البت المقابل له في الصف الثاني
![](https://i.imgur.com/fFp0tHV.png)
والنتيجه راح تختلف حسب قاعدة كل معامل .
![](https://i.imgur.com/hlsHyHi.png)
قاعدة هالمعامل تقول
![](https://i.imgur.com/fFp0tHV.png)
إذا كانت قيمة البت الأول والبت المقابل له تساوي واحد
![](https://i.imgur.com/fFp0tHV.png)
النتيجه راح تكون ( 1 ) ، عكس ذلك راح تكون ( 0 )
![](https://i.imgur.com/AIR8GlC.png)
![](https://i.imgur.com/QKO2PF5.png)
نفس المثال : a71 OR 221
![](https://i.imgur.com/fFp0tHV.png)
هذا المعامل بيطبق نفس عملية المقارنه السابقه
![](https://i.imgur.com/hlsHyHi.png)
قاعدة هالمعامل تقول
![](https://i.imgur.com/fFp0tHV.png)
إذا كانت قيمة البت الأول أو المقابل له أو الإثنين معاً يساوون واحد
![](https://i.imgur.com/fFp0tHV.png)
راح تكون النتيجه ( 1 ) ، عكس ذلك راح تكون ( 0 )
![](https://i.imgur.com/2AJ1dV1.png)
![](https://i.imgur.com/ijtZqJq.png)
XOR هي أختصار لـ ( Exclusive OR )
![](https://i.imgur.com/fFp0tHV.png)
نفس المثال : a71 XOR 221
![](https://i.imgur.com/fFp0tHV.png)
هذا المعامل أيضاً بيطبق نفس عملية المقارنه السابقه
![](https://i.imgur.com/hlsHyHi.png)
قاعدة هالمعامل تقول
![](https://i.imgur.com/fFp0tHV.png)
إذا كان أحد البتين وليس كلاهما يساوي واحد
![](https://i.imgur.com/fFp0tHV.png)
راح تكون النتيجه ( 1 ) ، عكس ذلك راح تكون ( 0 )
![](https://i.imgur.com/7k1yzbU.png)
الآن
![](https://i.imgur.com/fFp0tHV.png)
جميع المعاملات السابقه بعد ما تطبق القواعد
![](https://i.imgur.com/fFp0tHV.png)
راح تاخذ القيمه وتحولها من ثنائي إلى عشري ، وهو الناتج النهائي
![](https://i.imgur.com/2YP9xjy.png)
![](https://i.imgur.com/ztvLxpq.png)
هذا المعامل يختلف عن اللي قبله ، هذا المعامل ياخذ فقط قيمه وحده
![](https://i.imgur.com/fFp0tHV.png)
مثال : 71 ، في النظام الثنائي بتكون 01000111
![](https://i.imgur.com/fFp0tHV.png)
هذا المعامل بيمشي على بت ، بت
![](https://i.imgur.com/fFp0tHV.png)
إذا كانت قيمة البت صفر بيخليها ( 1 ) ، وإذا كانت واحد بيخليها ( 0 )
![](https://i.imgur.com/EJTqvFf.png)
أيضاً من ضمن الإجراءات اللي بيقوم فيها هذا المعامل
![](https://i.imgur.com/fFp0tHV.png)
هي استخدام المتمم الثنائي ( Two's Complement )
![](https://i.imgur.com/fFp0tHV.png)
واللي راح أتحدث عنه لاحقاً إن شاء الله
![](https://i.imgur.com/fFp0tHV.png)
ثم بنتعلم إن شاء الله كيف نستخرج نتيجة المعامل بطريقه حسابيه بسيطه |
|
|
|