أستفسار بخصوص الــ xor ..؟
#1
بسم الله الرحمن الرحيم
عندى أستفسار بخصوص الــ 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
> مبرمج مبتدئ < سبحان الله بحمده... سبحان الله العظيم
الرد
#2
السلام عليكم
قبل اجابتك ساعرج عليك ببعض المفاهيم في المنطق كي تفهمني جيدا
ما هو 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 ( استعمل الة حاسبة علمية للتاكد من النتائج)
لقد شرحت النتائج التي تحصلت عليها واستعمل نفس الطريقة مع اعداد اخرى
اتمنى ان الفكرة وصلت اليك واعدري على رداءة الشرح والترجمة وان كنت اخطات .
وسيضيف لك الاخوة شروحات اخرى ان شاء الله
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
الرد
#3
بعض التعديل على ما كتبته :
ما هو xor ؟؟
بالفرنسية OU exclusif هو عامل منطقي ان صح التعبير (opérateur logique) بين حدين (opérandes معاملات ) وتكون نتيجة العملية اما صحيحة او خاطئة
للاستزادة تابع هدا الرابط
http://fr.wikipedia.org/wiki/Fonction_OU_exclusif
بالتوفيق
و من طلب العلوم بغير كد _________ سيدركها إذا شاب الغراب
الرد
#4
لا يوجد شيء لزيادتة بعد
كود :
[color=Red]Exm Binary[/color] [COLOR=Green]00000000 XOR 00000000 = 00000000 11111111 XOR 11111111 = 00000000 00000000 XOR 11111111 = 11111111 11111111 XOR 00000000 = 11111111 [/COLOR]
مرفق مثال للتوضيح


الملفات المرفقة
.7z   ExmXOR.7z (الحجم : 1.33 ك ب / التحميلات : 9)
سبحان الله وبحمده سبحان الله العظيم
الرد
#5
اضافة على bassem_43
xor هو معامل منطقي يتعامل مع البتات اختصار للـ Exclusive or
Exclusive لانه لا يأخذ في الحسبان حالة من حالات or و هي
كود :
1 or 1 = 1
حيث باستخدام xor نحصل على 0 الذي يرمز للخطأ
جدول الحقيقة للـ or مع الأخذ بالحسبان 0 خطأ و 1 صحيح نهتم متى يكون الناتج صحيح في or يكون الناتج صحيح اذا كان احد الطرفين صحيح او كلا الطرفين صحيحين اي كلا الطرفين 1 في الـ xor يكون الناتج صحيح 1 اذا كان الطرفين مختلفين 1 و 0 و خطأ اذا كان الطرفين صحيحين اهم ما يجب ان تعرفه حول المعاملات المنطقية انها تتعامل مع البتات اذا اردت ان تفهم حول كل شيئ الى بتات ...
و لرب نازلة يضيق لها الفتى ذرعا و عند الله منها المخرج
ضاقت فلما استحكمت حلقاتها فرجت و كنت اضنها لا تفرج
الرد


التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم