View Full Version : سوال: =>> در C# چه معنی میدهد
sareham238
شنبه 11 مهر 1394, 16:17 عصر
سلام دوستان من میخواستم بدونم این فرمول زیر چه خروجی داره و =>> در این برنامه چه عملی رو انجام میدهد(فرض کنید مقدار مساوی با 128 است)
values[i] <<= 8;
SabaSabouhi
یک شنبه 12 مهر 1394, 09:28 صبح
سلام
=> به معنی کوچکتر یا مساوی هست.
اما =>> معنی دیگری دارد و به معنی Shift کردن مقدار یک عدد به سمت چپ است به میزان عدد بعد از تساوی.
مثلاً
n <<= 2;
n = n << 2;
دو عبارت بالا با هم معادل هستند. و در واقع n <<= 2 حالت ساده شدهی n = n << 2 میباشد.
و نتیجه معادل ضرب کردن عدد در 2 بتوان عدد سمت راست میباشد. مثلا اگر مقدار n برابر 6 باشد نتیجهی n <<= 2 میشود 24.
این عمل در سطح bit انجام میشود و بیتها به سمت چپ شیفت میشوند. باید توجه داشت که اگر آخرین بیت یک شود عدد
منفی خواهد شد و ارزش نتیجه دیگر با فرمول اولیه که ضرب عدد در 2 بتوان عدد سمت راست برابری نخواهد کرد.
صبا صبوحی
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.