عملگرهای شیفت بیتی در آردوینو

عملگرهای شیفت بیتی در آردوینو

عملگرهای شیفت بیتی در آردوینو
عملگرهای شیفت بیتی در آردوینو

عملگرهای شیفت بیتی در آردوینو:

شیفت چپ (>>) ، شیفت راست (<<)

دو عملگر شیفت بیتی در آردوینو وجود دارد: عملگر شیفت چپ >> و عملگر شیفت راست <<. این عملگرها باعث می‌شوند که بیت‌های عملوند سمت چپ، به تعدادی که در عملوند سمت راست مشخص شده است، به سمت چپ یا راست شیفت داده شوند. (جا‌به‌جا شوند.)

سینتکس (نحو):

تعداد بیت >> متغیر : شیفت جپ

تعداد بیت << متغیر : شیفت راست

پارامترها:

متغیر: (از نوع‌های byte ، int، long)

تعداد بیت: عدد صحیح <= 32

مثال:

هنگامی‌که شما مقدار X را به تعداد Y بیت (x << y) شیفت می‌دهید، Y بیت از چپ‌ترین بیت‌های X گم می‌شوند؛ در‌واقع از موجودیت خارج می‌شوند.

عملیات شیفت به چپ درواقع مقدار را در 2 به توان تعداد بیت ضرب می‌کند:  X*Y^2 .

عملگر شیفت چپ در آردوینو

عملگر شیفت چپ در آردوینو

برای مثال، شیفت چپ عدد 10 به تعداد 2 بیت، 40 می‌شود. یعنی 10*2^2=40

مثال:برای ایجاد توان‌هایی از 2، این عبارات مفید هستند:

هنگامی‌که شما مقدار X را به تعداد Y بیت (x >> y) شیفت راست می‌دهید و بالاترین بیت X عدد 1 است، رفتار عملیات به نوع داده‌ی دقیق X بستگی دارد. اگر X از نوع int باشد، بالاترین بیت، بیت علامت است که همان‌طور که در بالا گفتیم، مشخص می‌کند که آیا X منفی است یا نه. در چنین موقعیتی، به دلایلی مبهم، بیت علامت به بیت‌های پایین‌تر کپی می‌شود:

این رفتار که به آن توسعه علامت گویند، معمولا رفتار دلخواه ما نیست؛ ما احتمالا می‌خواهیم که از سمت چپ، صفر وارد شود. به نظر می‌رسد که قوانین شیفت به راست در عبارات صحیح بدون علامت، متفاوت است؛ پس می‌توانید از typecast (عمل تغییر نوع داده) برای متوقت کردن کپی از سمت چپ استفاده کنید:

اگر مراقب عمل توسعه علامت باشید می‌توانید از عملگر شیفت به راست، به عنوان راهی برای تقسیم مقدار به توان‌های 2، استفاده کنید. برای مثال:

پس عملیات شیفت به راست، در واقع مقدار را به 2 به توان تعداد بیت، تقسیم می‌کند:

شیفت به راست در آردوینو

شیفت به راست در آردوینو

برای مثال شیفت راست عدد 40 به تعداد 2 بیت، 40 می‌شود. یعنی 40/ (2^2)=10

اطلاعات بیشتر از محاسبات bitwise

منبع

حمایت از Yalda

خوشحال میشیم برای تداوم و کیفیت ما رو حمایت کنید.

0 نفر

پــــســنــدیـده انـد

توجه

Yalda
Yalda

علاقه‌مند به یادگیری چیزهای جدید!

دیدگاه ها

0 دیدگاه

پر بحث ترین ها

مسابقه دوم : چالش برنامه نویسی به زبان C

مسابقه اول سیسوگ (مسابقه اول: درک سخت افزار) انتقادهای زیادی رو در پی داشت تا جایی که حتی خودمم به نتیجه مسابقه...

Zeus ‌ Zeus ‌
  • 2 سال پیش

راه اندازی LCD گرافیکی Nokia 1661 و دانلود کتابخانه آن

LCD گرافیکی یکی از مهم ترین پارامترهای موجود در طراحی انواع مدارات الکترونیکی پیچیده و حتی ساده است ، نمایش وضعیت و...

Zeus ‌ Zeus ‌
  • 4 سال پیش

ریموت کدلرن و چکونگی دکد کردن آن به همراه سورس برنامه

ریموت کنترل امروزه کاربرد زیادی پیدا کرده است؛ از ریموت‌های درب بازکن تا ریموت‌های دزدگیر و کنترل روشنایی همه از یک اصول اولیه پیروی می‌کنند و آن‌هم ارسال اطلاعات به‌صورت بی‌سیم است....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه سوم: استخراج داده از رشته ها در زبان C

نزدیک به 5 ماه از مسابقه دوم سیسوگ می‌گذره و فکر کردم که بد نیست یک چالش جدید داشته باشیم! البته چالش‌ها...

Zeus ‌ Zeus ‌
  • 2 سال پیش

همه چیز درباره ریموت کنترل‌های هاپینگ

امنیت همیشه و در همه‌ی اعصار، مقوله‌ی مهم و قابل‌توجه‌ ای بوده و همیشه نوع بشر به دنبال امنیت بیشتر، دست به ابداعات و اختراعات گوناگونی زده است. ریموت کنترل یکی از این اختراعات است. در این مقاله، به بررسی امنیت انواع ریموت‌های کنترل خواهیم پرداخت....

Zeus ‌ Zeus ‌
  • 5 سال پیش

مسابقه ششم: بزن میکروکنترلر را بسوزون!

بزنم میکروکنترلر را بسوزونم اونم تو  این شرایط!، طراحی مسابقه از اون چیزی که به نظر می‌رسه سخت‌تر است، باید حواست باشه...

Zeus ‌ Zeus ‌
  • 9 ماه پیش

آموزش قدم به قدم راه اندازی +NRF24L01

آموزش قدم به قدم راه اندازی +NRF24L01  با کتابخانه سازگار با انواع میکروکنترلرها و کامپایلرها قبل از اینکه قسمت بشه با ماژول...

رسول خواجوی بجستانی رسول خواجوی بجستانی
  • 3 سال پیش

ساخت ماینر با FPGA و ARM

چند ماهی هست که تب بیت کوین و ارزهای دیجیتال خیلی بالا رفته! چه شد که این پست را نوشتم همانطور که...

Zeus ‌ Zeus ‌
  • 3 سال پیش

مسابقه چهارم: کدام حلقه سریع‌تر است؟

حدود ۷ ماه پیش، مسابقه سوم سیسوگ رو برگزار کردیم و کلی نکته در مورد خواندن رشته‌های ورودی را بررسی کردیم. فکر...

Zeus ‌ Zeus ‌
  • 1 سال پیش

درآمد زایی به سبک پینوکیو

ما مهندسین, بخصوص مهندسین برق و الکترونیک … علاقه خاصی به طراحی و ساختن داریم علاقه زیادی به تکنولوژی , بخصوص از...

Sisoog Os Sisoog Os
  • 3 سال پیش
سیـــســـوگ

مرجع متن باز آموزش الکترونیک