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

عملگر بیتی

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

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

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


ثبت پرسش جدید
سبحان دادخواه
تخصص : دانشجوی برنامه نویسی :)
@SobhanDadkhah 3 سال پیش آپدیت شد
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
@MrHossein 3 سال پیش مطرح شد
0

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


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

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


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

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