راکت
حل شده

عملگر بیتی

3 پاسخ

سلام
این مثال رو متوجه نمیشم چطور شده 40 میشه توضیح بدید

$k = 10;
$n = 2 ;
echo ($k << $n )

چطور خروجی شده 40 ؟

ثبت پرسش جدید

پاسخ‌ها

3
سبحان دادخواه
سبحان دادخواه
@SobhanDadkhah

تخصص: دانشجوی برنامه نویسی :)

بهترین پاسخ

@wxyz4367
سلام. اگر راجب عملگرهای بیتی سرچ کنید مثال های زیادی برای مطالعه بیشتر پیدا میکنید. Bitwise Operators

همونطوری که در جدول مستندات مرجع مشخصه این عملگر مربوط به شیفت چپ هست.
به این صورت که متغیر k رو به تعداد n بار شیفت به سمت چپ خواهد داد. ( یعنی ما دوبار شیفت به چپ داریم)
هربار شیفت به سمت چپ هم معادل ضرب در عدد دو هست. بصورت زیر:
برای درک این موضوع باید سیستم های عددی رو کار کرده باشید که از دروس پایه مهندسی نرم افزار هم هست.

                    32 16 8 4 2 1
Number 10     ====> 0  0  1 0 1 0
first LShift  ====> 0  1  0 1 0 0
Second LShift ====> 1  0  1 0 0 0

با هربار شیفت به چپ عدد ها یک بیت به سمت چپ جابجا میشن و یک صفر از سر نیمکت ( سمت راست) بجای بیت از دست رفته وارد میشه.
تمام سعیم رو کردم که قابل درک باشه توضیحات حتی واسه کسی که درس تخصصی رو مطالعه نکرده. 😎
موفق باشید

Mr Hossein
Mr Hossein
@MrHossein

سلام
عدد 10 در مبنای 2 (باینری) میشه 00001010
دوتا شیفت بدیم به سمت چپ میشه 00101000 که معادل 40 در مبنای 10 هست

paradox
paradox
@wxyz4367

@SobhanDadkhah
@MrHossein
ممنون از توضیحاتتون عالی بود

شاید پاسخ شما همین‌جا باشد

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام