خانه / برنامه نویسی / عملگرهای بیتی در زبان 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 ) = ۶۱ که برابر است با ۱۱۰۰ ۰۰۱۱
>> مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به چپ شیفت می دهد. A << 2 = 240 که برابر است با ۱۱۱۱ ۰۰۰۰
>> مقدار عملوند چپ را به مقدار بیت های تعیین شده در عملوند راست، به راست شیفت می دهد. A >> 2 = 15 که برابر است با ۰۰۰۰ ۱۱۱۱

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

p q p & q p | q p ^ q
۰ ۰ ۰ ۰ ۰
۰ ۱ ۰ ۱ ۱
۱ ۱ ۱ ۱ ۰
۱ ۰ ۰ ۱ ۱

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

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

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

مثال:

امتحان کنید

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

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

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

مثال:

امتحان کنید

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

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

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

مثال:

امتحان کنید

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

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

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

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

مثال:

امتحان کنید

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

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

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

مثال:

امتحان کنید

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

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

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

مثال:

امتحان کنید

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


لينک منبع

درباره ی admin

همچنین ببینید

آموزش آپاچی اسپارک در ۷ روز – گیت

اگر به دنبال راهی هستید تا در مدت زمان کوتاهی مفاهیم اصلی Apache Spark را …

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *