تک دیک

واژه نامه و مجله آموزشی کامپیوتر و تکنولوژی

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Filter by Categories
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Numbers
O
P
Q
R
S
T
U
V
W
Y
Z
آگهی
اپلیکیشن ها
اچ‌تی‌ام‌ال
اسکرچ
اشخاص و شرکت ها
امنیت
امنیت آنلاین
اندروید
اینترنت
پایتون
پرسش و پاسخ
جاوااسکریپت
حروف انگلیسی
خبر
دوره های آموزشی
سخت‌افزار
سی‌اس‌اس
شبکه
فنی
کنسول جستجوی گوگل
گرافیک
لینوکس
مایکروسافت اکسل
مایکروسافت پاورپوینت
مایکروسافت ورد
مبانی کامپیوتر
مجله
مجله – امنیت
مجله – بازی
مجله – برنامه نویسی
مجله – دنیای اینترنت
مجله – سخت افزار
مجله – سیستم
مجله – شبکه
مجله – شبکه های اجتماعی
مجله – عمومی
مجله – گوشی‌های هوشمند
مجله – نرم افزار
مجله – ویندوز
مقدماتی
موضوعی
نرم‌افزار
وردپرس

عملگرهای بیتی در جاوااسکریپت

عملگرهای بیتی یا Bitwise operators در جاوااسکریپت

عملگرهای بیتی (Bitwise operators) در جاوااسکریپت عملی را روی نمایش باینری 32 بیتی عملوندهای خود انجام می‌دهند. عملوندهای این عملگرها ابتدا به معادل 32 بیتی‌شان تبدیل می‌شوند، سپس عمل موردنظر روی آن‌ها انجام می‌شود و حاصل به صورت یک عدد معمولی برگردانده می‌شود.

عملگرهای بیتی در جاوااسکریپت عبارتند از: عملگر AND بیتی (&)، عملگر OR بیتی (|)، عملگر NOT بیتی (~)، عملگر XOR بیتی (^)، شیفت چپ بیتی (<<)،  شیفت راست بیتی با افزودن علامت (>>) و شیفت راست بیتی با افزودن صفر (>>>). در ادامه با انواع عملگر بیتی در جاوااسکریپت و جزئیات آن‌ها بیشتر آشنا می‌شوید.

بیشتر بخوانید: عملگرها در جاوااسکریپت

عملگر AND بیتی با نماد &

عملگر AND بیتی (با نماد &) یک عملگر دو عملوندی است. در این عمل هرگاه دو بیت متناظر در نمایش باینری عملوندها برابر با 1 باشند بیت متناظر در حاصل برابر با 1 خواهد بود و در غیراینصورت برابر با 0 خواهد بود.

به عنوان مثال برای محاسبه 5 & 3 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
و نمایش باینری عدد 3 برابر است با
0000 0000 0000 0000 0000 0000 0000 0011
به این ترتیب حاصل
5 & 3
برابر است با
0000 0000 0000 0000 0000 0000 0000 0001
که معادل است با عدد
1

از آنجایی که صرفا بیت سمت راست در هر دو عملوند برابر 1 است بیت سمت راست در حاصل برابر 1 خواهد بود و مابقی بیت‌های آن صفر است.

عملگر OR بیتی با نماد |

عملگر OR بیتی (با نماد |) یک عملگر دو عملوندی است. در این عمل هرگاه حداقل یکی از دو بیت متناظر در نمایش باینری عملوندها برابر با 1 باشد بیت متناظر برابر با 1 خواهد بود و در غیراینصورت برابر با 0 خواهد بود.

به عنوان مثال برای محاسبه 5 | 3 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
و نمایش باینری عدد 3 برابر است با
0000 0000 0000 0000 0000 0000 0000 0011
به این ترتیب حاصل
5 | 3
برابر است با
0000 0000 0000 0000 0000 0000 0000 0111
که معادل است با عدد
7

عملگر NOT بیتی با نماد ~

عملگر NOT بیتی (با نماد ~) یک عملگر تک عملوندی است. این عملگر بیت‌های موجود در نمایش باینری عملوند خود را معکوس می‌کند. به عبارت بهتر، هر بیت در حاصل این عملگر از تغییر بیت متناظر در عملوند به دست می‌آید (به جای هر 0 مقدار 1 و به جای هر 1، مقدار 0 درج می‌شود).

توجه داشته باشید سمت چپ‌ ترین بیت یا پرارزش‌ترین بیت در نمایش مکمل 2 (یا Two’s complement) علامت عدد را مشخص می‌کند. در صورتی که این بیت برابر با 0 باشد عدد مثبت و در صورتی که این بیت برابر با 1 باشد عدد منفی خواهد بود.

به عنوان مثال برای محاسبه ~5 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
به این ترتیب حاصل
~5
برابر است با
1111 1111 1111 1111 1111 1111 1111 1010
که معادل است با عدد
-6

عملگر XOR بیتی با نماد ^

عملگر XOR بیتی (با نماد ^) یک عملگر دو عملوندی است. هرگاه صرفا یکی از دو بیت متناظر در نمایش باینری عملوندها برابر با 1 باشد بیت متناظر در حاصل این عملگر 1 خواهد بود و در غیراینصورت برابر با 0 خواهد بود.

به عنوان مثال برای محاسبه 5 ^ 3 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
و نمایش باینری عدد 3 برابر است با
0000 0000 0000 0000 0000 0000 0000 0011
به این ترتیب حاصل
5 ^ 3
برابر است با
0000 0000 0000 0000 0000 0000 0000 0110
که معادل است با عدد
6

عملگر شیفت چپ بیتی با نماد <<

عملگر شیفت چپ بیتی (با نماد <<) یک عملگر دو عملوندی است. این عملگر نمایش باینری عملوند اول خود را به تعداد عملوند دوم به سمت چپ شیفت می‌دهد، بیت‌های اضافی شیفت داده شده به سمت چپ را نادیده می‌گیرد و از سمت راست به همان تعداد 0 اضافه می‌کند.

به عنوان مثال برای محاسبه 5 << 2 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
به این ترتیب حاصل
5 << 2
برابر است با
0000 0000 0000 0000 0000 0000 0001 0100
که معادل است با عدد
20

همانطور که در مثال فوق مشاهده می‌کنید نمایش باینری عملوند اول (یعنی عدد 5) به تعداد 2 بیت به سمت چپ شیفت داده شده است (دو بیت 0 سمت چپ حذف می‌شوند). از سمت راست نیز 2 بیت 0 اضافه شده است.

عملگر شیفت راست بیتی با افزودن علامت با نماد >>

عملگر شیفت راست بیتی با افزودن علامت (>>) یک عملگر دو عملوندی است. این عملگر نمایش باینری عملوند اول خود را به تعداد عملوند دوم به سمت راست شیفت می‌دهد، بیت‌های اضافی شیفت داده شده به سمت راست را نادیده می‌گیرد و از سمت چپ به همان تعداد مقدار سمت چپ‌ترین بیت را اضافه می‌کند.

به عنوان مثال برای محاسبه -5 >> 2 داریم:

نمایش باینری عدد 5- برابر است با
1111 1111 1111 1111 1111 1111 1111 1011
به این ترتیب حاصل
-5 >> 2
برابر است با
1111 1111 1111 1111 1111 1111 1111 1110
که معادل است با عدد
-2

همانطور که در مثال فوق مشاهده می‌کنید نمایش باینری عملوند اول (یعنی عدد -5) به تعداد 2 بیت به سمت راست شیفت داده شده است (دو بیت 1 سمت راست حذف می‌شوند). از سمت چپ نیز 2 بیت 1 اضافه شده است (چون بیت اول از سمت چپ در نمایش باینری عملوند اول برابر 1 است).

عملگر شیفت راست بیتی با افزودن صفر با نماد >>>

عملگر شیفت راست بیتی با افزودن صفر (>>>) یک عملگر دو عملوندی است. این عملگر نمایش باینری عملوند اول خود را به تعداد عملوند دوم به سمت راست شیفت می‌دهد، بیت‌های اضافی شیفت داده شده به سمت راست را نادیده می‌گیرد و از سمت چپ به همان تعداد 0 اضافه می‌کند.

به عنوان مثال برای محاسبه 5 >>> 2 داریم:

نمایش باینری عدد 5 برابر است با
0000 0000 0000 0000 0000 0000 0000 0101
به این ترتیب حاصل
5 >>> 2
برابر است با
0000 0000 0000 0000 0000 0000 0000 0001
که معادل است با عدد
1

همانطور که در مثال فوق مشاهده می‌کنید نمایش باینری عملوند اول (یعنی عدد 5) به تعداد 2 بیت به سمت راست شیفت داده شده است (دو بیت 01 سمت راست حذف می‌شوند). از سمت چپ نیز 2 بیت 0 اضافه شده است.

بازگشت به فهرست مجموعه آموزشی JavaScript

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

ما در تک‌دیک تلاش می‌کنیم محتوایی دقیق، واضح و بدون اشتباه منتشر کنیم. به همین دلیل هر مطلب پیش از انتشار بارها بازبینی می‌شود. از طرف دیگر با توجه به حجم بالای مطالب به کمک شما هم نیاز داریم. اگر احساس می‌کنید محتوای این صفحه باید بروزرسانی، تکمیل یا تصحیح شود و یا سوالی در مورد این مطلب دارید که بدون پاسخ مانده خوشحال می‌شویم آن را در بخش دیدگاه‌های همین مطلب با ما در میان بگذارید.

دیدگاه‌ها

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

نوشته‌های بیشتر

تبلیغات متنی ساده