بیت و عملگرهای بیتی چیست؟ (قسمت سیزدهم)

در جاوااسکریپت اعداد می توانند ساختار و مبنای متفاوت داشته باشند اما مبنای پیش فرض آن دسیمال یا ده دهی است یعنی هر عددی بر مبنای 10 دوباره خودش می شود.


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

  • عدد بر مبنای دسیمال یا 10: اکثر اعداد بر این مبنا هستند.
  • عدد بر مبنای 8: این نوع اعداد یک پیشوند 0 قبل از خود دارند و بنام اکتال هستند.
  • عدد بر مبنای 2: عددی که مختص زبان کامپیوتر است و در قالب 0 یا 1 به آن معرفی می‌شود.نام دیگر آن باینری است
  • عدد بر مبنای 16: اعداد بر این مبنا دارای پیشوند 0x هستند.نام آن هگزادسیمال است.


مبنای ده دهی یا دسیمال چیست؟

در جاوااسکریپت اعداد می توانند ساختار و مبنای متفاوت داشته باشند اما مبنای پیش فرض آن ها دسیمال یا ده دهی است یعنی هر عددی بر مبنای 10 دوباره خودش می شود. برای مثال در یک عملیات ریاضی 2+2 جاوااسکریپت نتیجه آن را به برمبنای 10 تبدیل می کند و چون برمبنای 10 خودش می‌شود مقدار 4 بازگشت داده میشود.

همین عدد 4 برمبنای دودویی 100 می شود یک 1 و دو تا 0 چون گفتیم عدد باینری 0 و 1 است. نحوه محاسبه عدد دسیمال به شکل باینری را توضیح خواهم داد.


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

این امکان وجود دارد که یک عدد ده دهی را بر مبنای دو دویی یا برعکس محاسبه کنیم.برای انجام اینکار یک شیوه با تصویر را به شما آموزش می دهم.

ابتدا یک جدول ترسیم کرده که دارای ستون هایی به هر تعدادی که نیاز دارید، است در ردیف اول از سمت راست به چپ اعداد را بر مبنای 10 از عدد 1 به شکلی که هربار عدد ضربدر 2 بشود وارد میکنیم.

اعداد به ترتیب عبارتند از:

حال اگر بخواهیم معادل عدد موردنظر خود، مقدار دودویی آن را بدست بیاوریم باید براساس جمع مقادیر ده دهی ستون اول به عدد خود برسیم. اعدادی را که در این محاسبه مورد استفاده قرار میگیرد معادلش عدد 1 قرار میدهیم و مابقی را عدد 0 در نظر می گیریم.در اینجا برای عدد 5 یک عدد 1،4 در جدول دسیمال در نظر میگیریم. معادل آنها براساس ده دهی مقدار 1 و مابقی را 0 قرار میدهیم.

مثال:


حالا بیت یا bit چیست؟

به هر یک از خانه دودویی که شامل یک مقدار 0 یا 1 است یک بیت گفته میشود.برای مثال عدد 5 بر مبنای دو دویی 101 می شود که معادل 3 بیت است یا عدد 10 برابر با 1010 می شود که معادل 4 بیت است.

خوب تا اینجا هم اعداد ده دهی هم معادل آن دو دویی را توضیح دادیم و همچنین گفتیم که بیت چیست؟


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

جاوااسکریپت تنها تا 32 بیت را می تواند محاسبه کند.

مثال:

00000000000000000000000000000000

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

در سیستم های دو دویی محاسبه از سمت راست به چپ صورت می گیرد.

حال اگر عدد 5 را بر مبنای دو دویی و 32 بیتی بخواهیم تعریف کنیم به شکل زیر است.

مثال:

00000000000000000000000000000101


عملگر بیتی & یا and

در صورتی که هر دو بیت برابر با 1 باشد خروجی این عملگر برابر با بیت 1 خواهد بود.

نحوه نوشتن:

x & y

حالت های مختلف اعداد و نتایج آن:

1 & 1
//1

1 & 0
//0

0 & 1
//0

0 & 0
//0

مثال:

2 & 3
//2

توضیح نحوه عملکرد عملگر و نتیجه آن:

اعدادی که ما به کامپیوتر می دهیم همانطور که میبینید بر مبنای 10 است اما کامپیوتر آن را بر مبنای دو دویی محاسبه می کند. عدد 2 بر مبنای باینری طبق جدول بالا که یاد دادم..

مثال:

00000000000000000000000000000011

رقم های باینری این دو عدد از راست به چپ مقایسه می شود و گفتیم زمانی بیت 1 می شود که هر دو بیت 1 باشد.

مثال:

00000000000000000000000000000010
00000000000000000000000000000011
//2

نتیجه را اگر بر مبنای 10 حساب کنیم 2 می‌شود.


مشاهده ادامه در لینک زیر:

https://dejavan.ir


سخن پایانی

این بود یکی دیگر از آموزش جاوااسکریپت در صورت داشتن سوال یا نظر اون رو با من در میان بزارید.

من امیر جوان میر هستم گرافیست و توسعه دهنده وب از سال 1390

instagram: https://www.instagram.com/amir.javanmir/

تمامی حقوق این مطلب متعلق به سایت دیزاینر جوان می باشد هرگونه استفاده از این مطلب با ذکر منبع آن بلامانع است.

website: https://dejavan.ir
instagram: https://instagram.com/designer.javan
twitter: https://twitter.com/designer_javan
Telegram: https://t.me/designer_javan


سایر مطالب

https://virgool.io/JavaScriptTutorial