راکت
paradox
paradox
توسط paradox مطرح شد
حل
3 پاسخ

عملگر بیتی

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

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

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


ثبت پرسش جدید
سبحان دادخواه
سبحان دادخواه
تخصص :دانشجوی برنامه نویسی :)
@SobhanDadkhah5 سال پیشمطرح شد
1

@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
@MrHossein5 سال پیشمطرح شد
0

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


paradox
paradox
@wxyz43675 سال پیشمطرح شد
1

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


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

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