delphi4arab منتديات دلفي للعرب
أستفسار بخصوص الــ xor ..؟ - نسخة قابلة للطباعة

+- delphi4arab منتديات دلفي للعرب (https://delphi4arab.net/forum)
+-- قسم : منتديات دلفي للعرب التعليمية (https://delphi4arab.net/forum/forumdisplay.php?fid=3)
+--- قسم : سؤال و جواب حول دلفي (https://delphi4arab.net/forum/forumdisplay.php?fid=15)
+--- الموضوع : أستفسار بخصوص الــ xor ..؟ (/showthread.php?tid=6313)



أستفسار بخصوص الــ xor ..؟ - karika2 - 11-07-2014

بسم الله الرحمن الرحيم
عندى أستفسار بخصوص الــ xor وهو عند كتابتى الكود هذا لمعرفة ما هو ال xor
كود :
var i,x,r:integer; begin i:=StrToInt(Edit1.Text); x:=StrToInt(Edit2.Text); r:=i xor x ; Edit3.Text:=IntToStr(r) end;
سينتج نتائج منطقية ولكن فى نفس الوقت ضمن سلسلة حسابية عشوائية مثال :.
كود :
1 xor 1 :=0 1 xor 0 :=1 2 xor 2 :=0 10 xor 11 := 1 20 xor 11 := 31
اللى قدرت استنتجة من 1 الى 10 تساوى +
أما فى حدوث تشابة اى من الارقام المدخلة تساوى 0
منتظر الباقى من حضراتكم (:confusedSmile


أستفسار بخصوص الــ xor ..؟ - bassem_43 - 11-07-2014

السلام عليكم
قبل اجابتك ساعرج عليك ببعض المفاهيم في المنطق كي تفهمني جيدا
ما هو xor ؟؟
بالفرنسية OU exclusif هو عملية منطقية ان صح التعبير (opérateur logique)بين حدين (opérandes) وتكون نتيجة العملية اما صحيحة او خاطئة
- تكون صحيحة ادا كان احد الحدين خاطئ
- تكون خاطئة ادا كان الحدان صحيحان معا او خاطئان معا .
نرمز للحد الصحيح ب 1 وللخطا ب 0 (المنطق ) فيكون XOR بين هده الحدود هكدا :
كود :
1 Xor 0=1 0 Xor 1 =1 1 Xor 1 = 0 0 Xor 0 = 0
نعود لمثالك انت عملت xor بين اعداد صحيحة نحولها اولا الى اعداد ثنائية وعمل لها Xor فتكون النتيجة هكدا :
كود :
2 Xor 2 = 0
لمدا ؟؟ نعلم ان 2 تكتب بالنظام الثنائي هكدا 10 ادن :
10
Xor
10
ــــــــــ
00 ( نعمل XOR للعدد الاول باخد الرقم الاول منه مع الرقم الاول من العدد الثاني ونضع النتيجة تحت وهكدا دواليك حتى ننتهي من كل ارقام العدد ين حسب المفاهيم التي يعطينا XOR فوق ).
النتيجة هي 00 بالنظام الثنائي BINAIRE والتي تساوي 0 بالنظام العشري DICIMAL
نمر الى العملية التالية : ( 20 xor 11 := 31 )
العدد 20 يساوي 10100 بالنظام الثنائي و كدلك العدد 11 يساوي 1011 ادن
10100
Xor
01011
ــــــــــ
11111 اتبع نفس الطريقة السابقة للحساب
النتيجة هي 11111 بالنظام الثنائي بتحويلها الى النظام العشري تساوي 31 ( استعمل الة حاسبة علمية للتاكد من النتائج)
لقد شرحت النتائج التي تحصلت عليها واستعمل نفس الطريقة مع اعداد اخرى
اتمنى ان الفكرة وصلت اليك واعدري على رداءة الشرح والترجمة وان كنت اخطات .
وسيضيف لك الاخوة شروحات اخرى ان شاء الله


أستفسار بخصوص الــ xor ..؟ - bassem_43 - 11-07-2014

بعض التعديل على ما كتبته :
ما هو xor ؟؟
بالفرنسية OU exclusif هو عامل منطقي ان صح التعبير (opérateur logique) بين حدين (opérandes معاملات ) وتكون نتيجة العملية اما صحيحة او خاطئة
للاستزادة تابع هدا الرابط
http://fr.wikipedia.org/wiki/Fonction_OU_exclusif
بالتوفيق


أستفسار بخصوص الــ xor ..؟ - Agmcz - 11-07-2014

لا يوجد شيء لزيادتة بعد
كود :
[color=Red]Exm Binary[/color] [COLOR=Green]00000000 XOR 00000000 = 00000000 11111111 XOR 11111111 = 00000000 00000000 XOR 11111111 = 11111111 11111111 XOR 00000000 = 11111111 [/COLOR]
مرفق مثال للتوضيح


أستفسار بخصوص الــ xor ..؟ - S.FATEH - 11-07-2014

اضافة على bassem_43
xor هو معامل منطقي يتعامل مع البتات اختصار للـ Exclusive or
Exclusive لانه لا يأخذ في الحسبان حالة من حالات or و هي
كود :
1 or 1 = 1
حيث باستخدام xor نحصل على 0 الذي يرمز للخطأ
جدول الحقيقة للـ or مع الأخذ بالحسبان 0 خطأ و 1 صحيح نهتم متى يكون الناتج صحيح في or يكون الناتج صحيح اذا كان احد الطرفين صحيح او كلا الطرفين صحيحين اي كلا الطرفين 1 في الـ xor يكون الناتج صحيح 1 اذا كان الطرفين مختلفين 1 و 0 و خطأ اذا كان الطرفين صحيحين اهم ما يجب ان تعرفه حول المعاملات المنطقية انها تتعامل مع البتات اذا اردت ان تفهم حول كل شيئ الى بتات ...