به آموزشگاه مجازی سینا خوش آمدید!

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

امتیاز
(0)

عملگر نام توضیح
& AND

اگر هردوی بیت ها 1 باشند، هر بیت را برابر با 1 تنظیم می کند.

| OR

اگر یکی از دو بیت برابر با 1 باشند، هر بیت را برابر با 1 تنظیم می کند.

^ XOR

اگر تنها یکی از دو بیت برابر با 1 باشند، هر بیت را برابر با 1 تنظیم می کند.

~ NOT

تمام بیت ها را معکوس می کند

<<

بیت ها را به سمت چپ حرکت(شیفت) می دهد.

شیفت به چپ با قرار دادن صفرها از سمت راست و اجازه دادن برای افتادن چپ ترین بیت ها.

>>

شیفت به راستِ علامت دار؛ یعنی علامت عدد حاصل شده مشابه با علامت اولین عملوند است.

بیت ها را به سمت راست شیفت می دهد. 

>>>

شیفت به راستِ بدون علامت؛ یعنی بیتِ علامت، 0 است، بنابراین عدد حاصل شده همواره مثبت است.

شیفت به راست با قرار دادن صفرها از سمت چپ. 

مثال ها

عملیات نتیجه مشابه است با نتیجه
5 & 1 1 0101 & 0001  0001
5 | 1 5 0101 | 0001  0101
~ 5 10  ~0101  1010
5 << 1 10 0101 << 1  1010
5 ^ 1 4 0101 ^ 0001  0100
5 >> 1 2 0101 >> 1  0010
5 >>> 1 2 0101 >>> 1  0010

جاوا اسکریپت از عملوندهای بیتیِ 32 بیت استفاده می کند

جاوا اسکریپت اعداد را به صورت عددهای 64 بیتِ ممیز شناور ذخیره می کند اما تمام عملیات های بیتی روی اعداد باینری 32 بیت انجام می شوند. 

قبل از اینکه یک عملیات بیتی انجام شود، جاوا اسکریپت اعداد را به اعدادِ صحیح 32 بیتِ علامت دار تبدیل می کند. 

پس از اینکه عملیات بیتی انجام شود، نتیجه‌ی حاصل شده، به اعداد 64 بیتِ جاوا اسکریپت تبدیل می شود. 


مثال های بالا، از اعداد باینری 4 بیتی استفاده کرده اند. به همین دلیل 5~ مقدار 10 را برمی گرداند. 

چونکه جاوا اسکریپت از اعداد صحیحِ علامت دارِ 32 بیت استفاده می کند، 5~ مقدار -6 را برمی گرداند. 

00000000000000000000000000000101 (5)

11111111111111111111111111111010 (~5 = -6)

یک عدد صحیحِ علامت دار، از چپ ترین بیت بعنوان علامت منفی استفاده می کند. 


AND بیتی در جاوا اسکریپت

هنگامی که AND بیتی روی یک جفت بیت انجام شود، اگر هردوی بیت ها 1 باشند، مقدار 1 را برمی گرداند. 

مثال 1 بیتی:

عملیات نتیجه
0 & 0 0
0 & 1 0
1 & 0 0
1 & 1 1

مثال 4 بیتی:

عملیات نتیجه
1111 & 0000 0000
1111 & 0001 0001
1111 & 0010 0010
1111 & 0100 0100

OR بیتی در جاوا اسکریپت

هنگامی که OR بیتی روی یک جفت از بیت ها انجام شود، اگر یکی از بیت ها 1 باشد، مقدار 1 برگردانده می شود:

مثال 1 بیتی:

عملیات نتیجه
0 | 0 0
0 | 1 1 
1 | 0 1
1 | 1 1

مثال 4 بیتی:

عملیات نتیجه
1111 | 0000 1111
1111 | 0001 1111
1111 | 0010 1111
1111 | 0100 1111

XOR بیتی در جاوا اسکریپت

هنگامی که یک XOR بیتی، روی یک جفت از بیت ها انجام می شود، اگر بیت ها متفاوت باشند، مقدار 1 را برمی گرداند:

مثال 1 بیتی:

عملیات نتیجه
0 ^ 0 0
0 ^ 1 1 
1 ^ 0 1
1 ^ 1 0 

مثال 4 بیتی:

عملیات نتیجه
1111 ^ 0000 1111
1111 ^ 0001 1110
1111 ^ 0010 1101
1111 ^ 0100 1011

AND بیتی(&) در جاوا اسکریپت

AND بیتی، تنها اگر هردوی بیت ها برابر با 1 باشند، مقدار 1 را برمی گرداند:

دسیمال(اعشاری) باینری
5 00000000000000000000000000000101
1 00000000000000000000000000000001
5 & 1 00000000000000000000000000000001 (1)

مثال شماره 1

 let x = 5 & 1; 
امتحان کنید

JavaScript Bitwise OR (|)

Bitwise OR returns 1 if one of the bits is 1:

 

 

 

 

 


منبع: www.w3schools.com/js

 

  • بازدید: 17

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال