عملیات بیت
تمام اعداد در حافظه کامپیوتر به شکل باینری ذخیره می شوند، یعنی. به عنوان دنباله ای از 0 و 1. برای ذخیره اعداد در حافظه کامپیوتر، تعداد محدودی بیت استفاده می شود. به دلیل این تعداد، رایانه دارای محدوده محدودی است و نتایج محاسبه ممکن است نادرست باشد. یک عدد صحیح را می توان در حافظه 8، 16، 32 یا 64 بیتی ذخیره کرد. هر بیت اضافی محدوده مقادیر ممکن را 2 افزایش می دهد.
عملیات با اعداد مثبت و منفی در پردازنده با استفاده از الگوریتم های مشابه انجام می شود.
با کمک عملیات منطقی بیتی، می توانید تک تک بیت های رجیسترهای پردازنده و دستگاه های خارجی را کنترل کنید.
<سر>
عملیات C++ |
مقصد |
<بدن>
a & ب |
و بیتی برای a و b |
a | ب |
OR بیتی برای a و b |
a ^ b |
X OR برای a و b |
~a |
وارونگی بیت برای a |
a << ب |
تغییر بیتی از a به b |
a >> ب |
تغییر بیتی به راست a به b |
عملیات AND
با استفاده از
عملیات "AND
" میتوانید بیتهایی را که ماسک آنها 0 است، بازنشانی کنید (صفر کنید)!
ماسک– ثابتی که محدوده عملیات منطقی را روی بیت های یک عدد چند بیتی مشخص می کند.
D
- داده،
M
- ماسک
عملیات OR
از
عملیات "OR
" می توان برای نوشتن 1 به بیت هایی که ماسک آنها 1 است استفاده کرد!
عملیات انحصاری OR
با استفاده از
عملیات "XOR
" میتوانید بیتهایی را که ماسک آنها 1 است معکوس کنید!
Shift Left
یک بیت منطقی (بیتی)
1
به چپ شیفت یک عدد صحیح مثبت را دو برابر می کند.
Shift Right
بولی (بیتی) .
تغییر به راست با ۱
یک عدد صحیح مثبت را بر 2 تقسیم می کند.
از آنجایی که یک شیفت به راست، بیت علامت را روی موقعیت های خالی تنظیم می کند، علامت
x
را می توان با جابجایی به راست کل طول متغیر تعیین کرد.