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

در جاوااسکریپت اعداد می توانند ساختار و مبنای متفاوت داشته باشند اما مبنای پیش فرض آن دسیمال یا ده دهی است یعنی هر عددی بر مبنای 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سخن پایانیاین بود یکی دیگر از آموزش جاوااسکریپت در صورت داشتن سوال یا نظر اون رو با من در میان بزارید.من امیر جوان میر هستم گرافیست و توسعه دهنده وب از سال 1390instagram: https://www.instagram.com/amir.javanmir/تمامی حقوق این مطلب متعلق به سایت دیزاینر جوان می باشد هرگونه استفاده از این مطلب با ذکر منبع آن بلامانع است.website: https://dejavan.irinstagram: https://instagram.com/designer.javantwitter: https://twitter.com/designer_javanTelegram: https://t.me/designer_javanسایر مطالب https://virgool.io/JavaScriptTutorial