سوال

++c سوال درمورد

بازدید385پست ها1آخرین فعالیت2 سال پیش
-1
2

سئالم در مورد عملگرهای andبیتی و or هست که ویدعو اموزشیو ولی متوجه نمیشم

سلام لطفا مشکلتونو بهتر توضیح بدید که کجاش رو متوجه نمیشید. پست رو ویرایش و توضیحات رو اضافه کنید. – رضا رمضانپور 3 سال پیش

1 پاسخ

0

درود
عملگر 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 میشه.

آخرین ویرایش: 13-08-2021 ???? 00:37، توسط عباس اختیاری

سوال برنامه نویسی دارید؟

ندونستن عیب نیست، نپرسیدن چرا!

این سوال حل نشده است!

این سوال هنوز حل نشده یا به پاسخ بهتری نیاز دارد. برای پاسخ به این سوال کافیست وارد حساب کاربری خود شوید.