عملگر هاي بيتي

Mohammadreza

Well-Known Member
با سلام
لطفا در مورد عملگرهاي بيتي يه توضيح كامل بدين ( يه جوري بگين كه بفهميم :دي )
مثلا شيفت به چپ و راست و ... يعني چي ؟! چه تصاعدي داره ؟ اصلا نمي فهمم !
تشكر
 
محمد رضا جان عدد 2 رو در نظر بگیرید - در مبنای 2 معادل چه مقداری هست ؟ معادل (10) هست!
عدد 4 چی ؟ معادل (100) 2^2
عدد 8 چی؟ معادل (1000) 3^2
عدد 16 چی؟ معادل (10000) 4^2
عدد 32 چی؟ معدل (100000) 5^2

قبول داری اگه یه شیفت ( حرکت رقم ) به سمت راست برای عدد 32 در نظر بگیری ( صفر اولی از بین میره ) => انگار عدد 32 را بر 2 تقسیم کردی - به عبارتی به ازای هر شیفت به سمت راست عدد را نصف میکنی ( الان میشه 16 )

حالا قبول داری اگه عدد شما 8 بود و یه شیفت به چپ میدادی ( وقتی میری به چپ - یه حرکت میکنی به چپ - یه رقم باید بزاری سمت راست اون مبنای 2 - حالا یا 1 باید بزاریم یا صفر - اما همیشه صفر میزاریم )
پس اگه یه صفر بزارید سمت راست مبنای دوی عدد 8 تبدیل به عدد 16 میشه - انگار با این کار 8 رو در 2 ضربش کردید - به همین سادگی :)
 

Mohammadreza

Well-Known Member
مرسي
مي شه در مورد اينا هم توضيح بدين ! >> <<
 
آخرین ویرایش:
اپراتورهای shift left و shift right بیتهای عدد صحیح مشخص شده را به اندازه مشخص به چپ یا راست شیفت میدهند.
هر مرحله معادل ضرب یا تقسیم بر 2 هستش :

PHP:
define(TWO, 2);
define(FOUR, 4);
echo(TWO<<FOUR); //32
echo(FOUR>>TWO); //1
 

جدیدترین ارسال ها

بالا