بایگانی برچسب‌ها : shift

عملگر بیتی Bitwise Operator

عملگر بیتی یا Bitwise Operator چیست؟

عملگر بیتی (Bitwise Operator) به عملگرهایی گفته می‌شود که عملی را روی یک یا چند عدد باینری در سطح بیت هایشان انجام می‌دهند. این اعمال را عملیات بیتی (Bitwise Operation) می‌نامند و از آنجایی که بسیار ساده هستند توسط پردازنده به صورت مستقیم نیز پشتیبانی می‌شوند. عملیات بیتی معمولا برای انجام اعمالی نظیر مقایسه، محاسبه و … مورد استفاده قرار می‌گیرد.

عملگرهای بیتی متداول

عملگرهای بیتی رایجی که در اغلب زبان های برنامه نویسی (و نه تمامی آن‌ها) پشتیبانی می‌شود شامل عملگرهای NOT (نقیض یا نفی)، AND (و)، OR (یا) و XOR (یای مانعه الجمع، یای انحصاری) بیتی و همچنین تعدادی از شیفت‌های بیتی پرکاربرد می‌باشد.

عملگر NOT بیتی، نوعی عملگر بیتی یکانی (تک عملوندی) است که تمام بیت‌های عملوند خود را تغییر می‌دهد. به عبارت بهتر، این عملگر، عمل نفی منطقی را روی تک تک بیت‌های عملوند انجام می‌دهد (بیت‌هایی که صفر هستند را به یک و بیت‌هایی که یک هستند را به صفر تبدیل می‌کند). یکی از کاربردهای این عملگر، محاسبه مکمل یک (1’s Complement) اعداد باینری می‌باشد.

عملگرهای AND و OR و XOR، عملگرهای باینری (دوتایی یا دو عملوندی) هستند. عملوندهایی که توسط این عملگرها بر روی آن‌ها عملیات بیتی انجام می‌شود می‌بایست دارای طول (تعداد بیت) یکسان باشند چرا که این اعمال روی بیت‌های متناظر عملوندها انجام می‌شود. توجه داشته باشید در فرم متدول نمایش باینری، سمت چپ‌ترین موقعیت بیتی را با ارزش ترین (یا مهم‌ترین) بیت (Most significant bit یا MSB) و سمت راست‌ترین موقعیت بیتی را کم ارزش ترین (یا کم اهمیت ترین) بیت (Least significant bit یا LSB) می‌نامند.

عملگر AND بیتی، عمل AND (و) منطقی را روی هر جفت از بیت‌های متناظر در عملوندهایش انجام می‌دهد. در صورتی که هر دو بیت در موقعیت‌های متناظر از دو عملوند برابر با یک باشند بیت متناظر در حاصل عملگر نیز برابر با یک و در غیراینصورت برابر با صفر خواهد بود.

عملگر OR بیتی عملگری است که عمل OR (یا) منطقی را روی هر جفت از بیت‌های متناظر در عملوندهایش انجام می‌دهد. اگر دو بیت در موقعیت‌های متناظر از دو عملوند برابر با صفر باشند بیت متناظر در حاصل عملگر نیز برابر با صفر و در غیراینصورت برابر با یک خواهد بود.

عملگر XOR بیتی نیز عمل یای مانعه الجمع (یای انحصاری) منطقی را روی هر جفت از بیت‌های متناظر در عملوندهایش انجام می‌دهد. به این معنا که اگر هر دو بیت در موقعیت‌های متناظر از دو عملوند برابر با صفر یا هر دو برابر با یک باشند بیت متناظر در حاصل عملگر برابر با صفر و در غیراینصورت (یکی صفر و دیگری یک باشد) برابر با یک خواهد بود.

عملگر بیتی Bitwise Operator
نمونه‌ای از انجام چهار عملیات بیتی. در این تصویر، حاصل عملگرهای بیتی NOT و AND و OR و XOR را روی عملوندهای مشخص شده مشاهده می‌کنید.

عملگرهای شیفت بیتی، ارقام عملوند خود را براساس نوع شیفت، به سمت چپ یا راست جابجا می‌کنند. از آنجایی که ثبات‌ها در پردازنده دارای طول ثابتی هستند بنابراین در هر عمل شیفت، بیت‌هایی از یک سمت حذف (یا خارج) می‌شوند (Shift out) و بیت‌هایی نیز از سمت دیگر برای تکمیل موقعیت آزاد شده وارد می‌شوند (Shift in). به عنوان مثال در شیفت تک بیتی به سمت راست، سمت چپ‌ترین موقعیت بیتی آزاد می‌شود و لازم است یک بیت دیگر در این مکان قرار داده شود. تفاوت انواع مختلف عملگرهای شیفت بیتی در نحوه تعیین مقدار بیتی است که می‌بایست در موقعیت آزاد شده قرار گیرد.

عملگر بیتی شیفت Bit Shift
مقایسه انواع شیفت بیتی روی عدد باینری 00010111 – شیفت‌ها نوعی عملگر بیتی به شمار می‌روند که ارقام عملوند خود را براساس نوع شیفت، به سمت چپ یا راست جابجا می‌کنند.

در شیفت حسابی (Arithmetic Shift) به سمت چپ، بیت‌های صفر از سمت راست به منظور تکمیل موقعیت آزاد شده وارد می‌شوند. اما در شیفت حسابی به سمت راست مقدار باارزش‌ترین بیت، موقعیت آزاد را از سمت چپ تکمیل می‌کند. با توجه به اینکه در اعداد باینری علامت‌دار، با ارزش‌ترین بیت، تعیین‌کننده علامت عدد می‌باشد بنابراین شیفت حسابی به سمت راست، علامت عدد را تغییر نمی‌دهد.

در شیفت منطقی (Logical Shift) برخلاف شیفت حسابی همواره بیت‌های صفر جایگزین موقعیت‌های آزاد شده می‌شود. از اینرو شیفت منطقی و حسابی به سمت چپ هردو نتیجه‌ای یکسان خواهند داشت. یکی دیگر از انواع مهم شیفت، شیفت دایره ای (Circular Shift) نام دارد که در آن مقدار همان بیتی که هنگام شیفت به راست یا چپ خارج شده است از سمت دیگر وارد می‌شود به گونه‌ای که می‌توانید تصور کنید دو سر رشته بیتی همانند یک دایره به یکدیگر متصل شده است.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

کلید شیفت Shift Key

کلید شیفت یا Shift Key چیست؟

کلید شیفت (Shift Key) یکی از کلیدهای تغییردهنده (Modifier Key) در صفحه کلید است که برای تایپ حروف بزرگ و کاراکترهایی که در بخش بالایی برخی از کلیدها نقش بسته‌اند (نظیر نماد $ که همراه با عدد 4 روی یک کلید قرار گرفته است) استفاده می‌شود. به این کلید، کلید انتخاب سطح دو (Level 2 Select Key) نیز گفته می‌شود.

معمولا دو عدد کلید شیفت یکی در سمت راست و دیگری در سمت چپ صفحه کلید قرار دارد. در چینش استاندارد QWERTY معمولا شیفت سمت چپ زیر کلید Caps Lock و بالای کلید Ctrl چپ قرار دارد و شیفت سمت راست نیز زیر کلید Enter و بالای Ctrl سمت راست قرار می‌گیرد. همانطور که گفته شد افزون بر حروف بزرگ، بسیاری از علائم پرکاربرد از جمله پرانتزهای باز و بسته، *، @، !، “، ؟ و علائم کوچکتر و بزرگتر و … به فشرده شدن کلید Shift احتیاج دارند. بنابراین وجود دو نمونه از این کلید در دو طرف کیبورد می‌تواند به تایپ آسانتر این کاراکترها کمک کند.

لازم به ذکر است در بسیاری از سیستم‌عامل‌ها از جمله ویندوز اگر کلید Caps Lock روی حالت روشن قرار داشته باشد فشرده شدن کلید Shift همراه با کلیدهای حروف باعث کوچک نوشته شدن آن حرف می‌شود.

معمولا در صفحه کلیدها از یک فلش روبه بالا (مشابه آنچه در تصویر زیر دیده می‌شود) به عنوان نماد این کلید استفاده می‌شود.

کلید شیفت Shift Key
موقعیت کلید Shift سمت چپ در یک صفحه کلید

کاربردهای کلید Shift

کلید شیفت دارای کاربردهای متعددی در سیستم‌عامل‌ها و نرم‌افزارهای مختلف می‌باشد که در ادامه به برخی از رایج‌ترین آن‌ها اشاره شده است:

  • انتخاب بخشی از متن یا اشیا: با کلیک روی نقطه آغازین، فشردن کلید شیفت و پایین نگه‌داشتن آن و سپس انتخاب نقطه انتهایی می‌توانید در واسط‌های کاربری گرافیکی نرم‌افزارهای مختلف (نظیر واژه‌پردازها، ویرایشگرهای متن، مرورگرهای وب، نرم‌افزارهای مدیریت فایل و …) بخشی از متن یا فایل‌ها و اشیا موردنظرتان را انتخاب کنید.
  • تسهیل ترسیم خطوط صاف، دایره و مربع: در نرم‌افزارهای ترسیمی معمولا با پایین نگه‌داشتن کلید Shift، استفاده از ابزارهای خط، مستطیل و بیضی به رسم خطوط صاف، مربع و دایره محدود می‌شود.
  • باز کردن پیوند در پنجره جدید مرورگر: در بسیاری از مرورگرهای وب با پایین نگه‌داشتن این کلید هنگام کلیک روی لینک‌ها، محتوای مقصد در پنجره‌ای جدید باز می‌شود.
  • باز کردن Windows Task Manager: با فشردن همزمان کلیدهای Ctrl + Shift + Esc می‌توان به این برنامه دسترسی پیدا نمود.
  • حذف بدون بازگشت فایل‌ها و فولدرها: در صورتی که در برنامه File Explorer (یا Windows Explorer در نسخه‌های قدیمی‌تر ویندوز) هنگام پاک کردن فایل‌ها یا فولدرها همراه با فشردن کلید Delete کلید Shift را نیز پایین نگه‌دارید فایل یا فولدرهای موردنظر به صورت آنی و بدون ارسال به Recycle Bin حذف می‌شوند.
  • بازگشت به شئ قبلی: همانطور که می‌دانید معمولا در نرم‌افزارهای مختلف و فرم‌های اینترنتی با استفاده از کلید Tab می‌توان فوکوس را به شئ (یا فیلد) بعدی منتقل نمود. برای بازگشت به شئ قبلی کافی است کلید Shift را همراه با Tab فشار دهید.
  • باز کردن Context Menu با فشردن همزمان Shift + F10

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا

کلید تغییردهنده Modifier key

کلید تغییردهنده یا Modifier key چیست؟

کلید تغییردهنده (Modifier key) به کلیدهای خاصی در صفحه کلید گفته می‌شود که هنگام فشرده شدن هم‌زمان با برخی از کلیدهای دیگر قادرند عملکرد آن کلید را به صورت موقت تغییر دهند.

از پرکاربردترین کلیدهای Modifier می‌توان به کلیدهای کنترل (Ctrl)، شیفت (Shift) و آلت (Alt) اشاره نمود. معمولا فشردن این کلیدها به تنهایی باعث انجام هیچ عملی نمی‌شود. به عنوان مثال هنگامی که قسمتی از یک متن را در یک نرم‌افزار واژه‌پرداز انتخاب کرده‌اید فشردن کلید Ctrl همراه با کلید C، متن را در کلیپ بورد ذخیره می‌کند و یا فشرده شدن همزمان کلید Alt و F4 در سیستم عامل ویندوز باعث بسته شدن پنجره‌ی فعال می‌شود. این در حالیست که در اغلب نرم‌افزارها، فشردن کلید Ctrl یا Alt به تنهایی هیچ رخدادی را رقم نمی‌زند.

دو کلید پرکاربرد دیگری که در صفحه کلیدهای رایج امروزی به عنوان تغییردهنده به شمار می‌روند عبارتند از کلید لوگوی ویندوز (یا Windows logo key) و کلید Fn. هرچند فشردن کلید لوگو به تنهایی باعث پدیدار شدن منو یا صفحه‌ی استارت در سیستم عامل ویندوز نیز می‌شود اما به کاربردن آن همراه با کلیدهای دیگر معمولا نقش میانبر را برای برخی از دستورات ایفا می‌کند (به عنوان مثال فشردن همزمان این کلید با کلید L یا D به ترتیب به عنوان میانبری برای قفل کردن سیستم و نمایش دسکتاپ ویندوز به کار می‌رود). گفتنی است در صفحه کلیدهای فشرده (کوچک) نظیر آنچه در لپ‌تاپ‌ها به کار می‌رود به منظور کاهش فضای موردنیاز برای صفحه کلید، عملکرد برخی از کلیدها با یکدیگر ترکیب می‌شود و از کلید Fn برای تغییر این عملکرد استفاده می‌شود. به عنوان مثال ممکن است فشردن Fn همراه با کلید F1 برای ورود به حالت Sleep به کار رود.

پیوندهای پیشنهادی تک دیک

لینک واژه در ویکیپدیا