سئالم در مورد عملگرهای andبیتی و or هست که ویدعو اموزشیو ولی متوجه نمیشم
1 پاسخ
درود
عملگر AND بیتی:
این عملگر مثل عملگر AND منطقی هست فقط روی بیت های اعداد اعمال میشه. این عمگر رو با نماد & نشون میدن. من اول کارآیایی عملگر رو نشون میدم بعد یه مثال میزنم که متوجه بشید.
1 & 1 = 1
1 & 0 = 0
0 & 1 = 0
0 & 0 = 0
این شکل کلی کارآیی این عملگر هست. حالا بریم سراغ مثال:
int res = 8 & 12;
cout << res;
تو این مثال من عدد ده دهی (مبنای 10) 8 و 12 رو با هم & کردم. اول از همه همونطور که میدونید متغیر از نوع int به این معناست که 32 بیت از فضای حافظه اشغال میشه. پس اگر دو عدد 8 و 12 رو در مبنای 2 (باینری) ببریم به این صورت میشن:
8 -> 00000000000000000000000000001000
12 -> 00000000000000000000000000001100
حالا بیت ها رو بیت به بیت طبق توضیح بالا با هم & میکنیم.
res -> 00000000000000000000000000001000
بعد از تبدیل مقدار res به ده دهی (مبنای 10) پاسخ عدد 8 میشه.
عملگر OR بیتی:
این عملگر مثل عملگر OR منطقی هست فقط روی بیت های اعداد اعمال میشه. این عمگر رو با نماد | نشون میدن.
کارآیی اون هم به صورت زیر هست:
1 | 1 = 1
1 | 0 = 1
0 | 1 = 1
0 | 0 = 0
مثال:
int res = 8 | 12;
cout << res;
8 -> 00000000000000000000000000001000
12 -> 00000000000000000000000000001100
دقیقا مثل مثال بالا بیت هارو نظیر به نظیر با هم | میکنیم:
res -> 00000000000000000000000000001100
بعد از تبدیل مقدار res به ده دهی (مبنای 10) پاسخ عدد 12 میشه.
سوال برنامه نویسی دارید؟
ندونستن عیب نیست، نپرسیدن چرا!