آموزش C

مباحث پایه زبان C

عملگرهای بیتی در زبان C – آموزش زبان C

  • دوشنبه ۵ شهریور ۱۳۹۷
  • بازدید ۷,۲۸۰ نفر

تصویر bitwise-operators-in-c_3656 عملگرهای بیتی در زبان C - آموزش زبان C

عملگرهای بیتی در زبان C

از عملگرهای بیتی برای دستکاری بیت ها در زبان C استفاده می شود. در زیر عملگرهای بیتی در زبان C را مشاهده می کنید.

عملگرتوضیحاتمثال
&اگر هر دو عملوند true باشند، یک بیت در نتیجه کپی می کند.(A & B) = 12 که برابر است با ۰۰۰۰ ۱۱۰۰
|اگر یکی از عملوندها true باشند، یک بیت در نتیجه کپی می کند.(A | B) = 61 که برابر است با ۰۰۱۱ ۱۱۰۱
^اگر مقدار هر دو عملوند یکسان نباشد (یعنی هر دو true یا هر دو false نباشند)، یک بیت در نتیجه کپی می کند.(A ^ B) = 41 که برابر است با ۰۰۱۱ ۰۰۰۱
~عملگر یکانی نقیض می باشد و کارش این است که هر جا ۱ بود ۰ و هر جا ۰ بود ۱ می گذارد.(~A ) = 61 که برابر است با ۱۱۰۰ ۰۰۱۱
>>مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به چپ شیفت می دهد.A << 2 = 240 که برابر است با ۱۱۱۱ ۰۰۰۰
>>مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به راست شیفت می دهد.A >> 2 = 15 که برابر است با ۰۰۰۰ ۱۱۱۱

جدول درستی را برای عملگر های &، | و ^ :

pqp & qp | qp ^ q
00000
01011
11110
10011

فرض کنید A = 60 و B = 13 باشد، آنگاه فرمت باینری آن ها به صورت زیر خواهد بود:

عملگر & (AND بیتی)

در عملگر & در زبان C اگر مقدار هر دو عملوند برابر ۱ باشد نتیجه ۱ و اگر برابر ۱ نباشند نتیجه ۰ را بر می گرداند.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

عملگر | (OR بیتی)

در عملگر | در زبان C اگر مقدار یکی از عملوندها برابر ۱ باشد نتیجه ۱ و اگر مقدار هر دو عملوندها ۰ باشد نتیجه ۰ را بر می گرداند.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

عملگر ^ (XOR بیتی)

در عملگر ^ در زبان C اگر مقدار عملوندها با یکدیگر فرق داشته باشد مقدار ۱ و اگر مقدار عملوندها با هم برابر باشند مقدار ۰ را بر می گرداند.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

عملگر ~ (NOT بیتی)

در عملگر ~ در زبان C اگر مقدار عملوند برابر ۱ باشد نتیجه ۰ و اگر مقدار عملوند ۰ باشد نتیجه ۱ را بر می گرداند.

توجه! عملگر ~ برخلاف عملگرهای دیگر که روی دو عملوند کار می کنند، فقط یک عملوند دارد.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

عملگر << (شیفت به چپ بیتی)

در عملگر << در زبان C بیت های مقدار عملوند را به تعداد تعیین شده به سمت چپ شیف داده و از سمت راست به جای مقدار های شیفت داده شده بیت ۰ قرار می دهد.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

عملگر >> (شیفت به راست بیتی)

در عملگر >> در زبان C بیت های مقدار عملوند را به تعداد تعیین شده به سمت راست شیف داده و از سمت چپ به جای مقدار های شیفت داده شده بیت ۰ قرار می دهد.

مثال:

امتحان کنید

بعد از اجرای کد بالا توسط کامپایلر زبان C خروجی زیر را مشاهده خواهید کرد.

 

باکس دانلود
ثبت نظر
ریفریش کنید!
نظرات کاربران (۱ مورد)
  1. تصویر آواتار کاربر 0
    jack چهارشنبه , 2 خرداد

    اصلا چطور میشه فرمتشون رو درک کرد باید قبل از اینها باینری و اسمبلی خوند؟