رتبه موضوع:
  • 0 رای - 0 میانگین
  • 1
  • 2
  • 3
  • 4
  • 5
نتیجه محاسبه در عملگر های بیتی (حل شد)
#1
توی بخش عملگر های بیتی یه مثالی بود به این شکل


$a = 7;
$b = 11;
echo $a ^ $b ;


نتیجه می شه 12
این 12 حاصل محاسبه چیه؟
چطور این عدد به دست اومده؟
پاسخ
تشکر شده توسط:
#2
ابتدا این دو عدد میرن در مبنای ۲

عدد ۷ :     ۰۱۱۱
عدد ۱۱ :   ۱۰۱۱

از اونجا که جواب عملگر xor جاهایی که یکی true باشه یکی false میشه جواب این عملگر

در نتیجه دو بیت اخر میشه جواب که یکی دو به توان ۳ و دیگریی ۲ به توان ۲ هست که مجموع این دو میشه عدد ۱۲
پاسخ
تشکر شده توسط: sm_pakdel
#3
دو بیت اخر هر کدوم 11 میشه
داستان توان چیه؟
پاسخ
تشکر شده توسط:
#4
وقتی میخوایم عدد رو از مبنای 2 به 10 ببریم، ارقام رو از راست به چپ از صفر شماره میزنیم و بالای هر رقم، 2 به توان شماره اون رو مینویسیم و بعد، عددهایی که رقم مربوط به اونها 1 هست رو با هم جمع میزنیم:

8 4 2 1 (2 ^ position)
3 2 1 0 (position)
-------
1 1 0 0 (digits)

8 + 4 = 12
پاسخ
تشکر شده توسط: sm_pakdel
#5
اگه اسمبلی یا معماری کامپیوتر خونده باشید درکش زیاد سخت نیست
عملگر XOR فقط فرقش با OR اینه که دو تا بیت متناظر دو عدد اگه 1 باشند جواب 0 هست پس اگه دو تا عدد بالا را به عدد باینری در بیاریم میپ بینید که جواب میشه 1100 که همون 12 میشه
موفقیت، نتیجه تشخیص درست است؛ تشخیص درست، نتیجه تجربه است؛ تجربه نیز اغلب نتیجه تشخیص نادرست است.



پاسخ
تشکر شده توسط: sm_pakdel
#6
(07-04-1394، 07:33 ب.ظ)ADMIN نوشته: وقتی میخوایم عدد رو از مبنای 2 به 10 ببریم، ارقام رو از راست به چپ از صفر شماره میزنیم و بالای هر رقم، 2 به توان شماره اون رو مینویسیم و بعد، عددهایی که رقم مربوط به اونها 1 هست رو با هم جمع میزنیم:

8 4 2 1 (2 ^ position)
3 2 1 0 (position)
-------
1 1 0 0 (digits)

8 + 4 = 12

کامل ترین توضیح بود
مرسی
پاسخ
تشکر شده توسط:




کاربران در حال بازدید این موضوع: 1 مهمان