PDA

View Full Version : سوال: بدست آوردن اختلاف بیت ها



shojaei_moh
پنج شنبه 12 اردیبهشت 1392, 21:21 عصر
می خوام دو تا عدد از ورودی بخونم تبدیل به باینری کنه و سپس بگه که چند تا از بیت ها مثل هم نیستند مثلا 10 به باینری می شود 1010 و 12 می شود 1100 که سه تا از بیت ها اختلاف دارند ممنون میشم کسی کمک کنه
با تشکر

Mahmoud.Afrad
پنج شنبه 12 اردیبهشت 1392, 21:27 عصر
مطمئنی توی مثالی که زدی سه تا بیت اختلاف دارن؟!!!!


جواب سوالت اینه که دو عدد رو باید با هم XOR کنی. بعد تعداد یک های نتیجه رو بشماری.

tooraj_azizi_1035
پنج شنبه 12 اردیبهشت 1392, 21:34 عصر
مقداردهی اولیه:
// Creates and initializes two BitArrays of the same size.
BitArray myBA1 = new BitArray( 4 );
BitArray myBA2 = new BitArray( 4 );
myBA1[0] = myBA1[1] = false;
myBA1[2] = myBA1[3] = true;
myBA2[0] = myBA2[2] = false;
myBA2[1] = myBA2[3] = true;


تعداد یک ها:


int result = myBA1.Xor(myBA2).OfType<bool>().Where(b => b).Count();

shojaei_moh
پنج شنبه 12 اردیبهشت 1392, 21:36 عصر
خوب بیت اول ودوم وسوم شبیه به نیستند منظورم اینه

veniz2008
پنج شنبه 12 اردیبهشت 1392, 21:52 عصر
مثلا 10 به باینری می شود 1010 و 12 می شود 1100 که سه تا از بیت ها اختلاف دارند ممنون میشم کسی کمک کنه
با تشکر


خوب بیت اول ودوم وسوم شبیه به نیستند منظورم اینه
سلام.
مطمئنی 3 بیت رو متفاوت می بینی؟؟؟؟ :متعجب:
اگر منظورتون از اختلاف معنای "تفاوت" و "یکسان نبودن" هست منم دو بیت بیشتر نمی بینم.
به نظر من فقط دو بیت وسط متفاوت هستن.
بعضی وقت ها آدم به خودش هم شک میکنه ولی باز هم شاید شما راست میگی و 3 بیت اختلاف داشته باشن.

shojaei_moh
پنج شنبه 12 اردیبهشت 1392, 22:23 عصر
سلام
اره حق با شماست

tooraj_azizi_1035
جمعه 13 اردیبهشت 1392, 12:21 عصر
احتمالاً روز خوبی نداشتی.:بامزه: