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

 

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

  • عدد بر مبنای دسیمال یا ۱۰: اکثر اعداد بر این مبنا هستند.
  • عدد بر مبنای ۸: این نوع اعداد یک پیشوند ۰ قبل از خود دارند و بنام اکتال هستند.
  • عدد بر مبنای ۲: عددی که مختص زبان کامپیوتر است و در قالب ۰ یا ۱ به آن معرفی می‌شود.نام دیگر آن باینری است
  • عدد بر مبنای ۱۶: اعداد بر این مبنا دارای پیشوند ۰x هستند.نام آن هگزادسیمال است.

 

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

در جاوااسکریپت اعداد می توانند ساختار و مبنای متفاوت داشته باشند اما مبنای پیش فرض آن ها دسیمال یا ده دهی است یعنی هر عددی بر مبنای ۱۰ دوباره خودش می شود. برای مثال در یک عملیات ریاضی ۲+۲ جاوااسکریپت نتیجه آن را به برمبنای ۱۰ تبدیل می کند و چون برمبنای ۱۰ خودش می‌شود مقدار ۴ بازگشت داده میشود.
همین عدد ۴ برمبنای دودویی ۱۰۰ می شود یک ۱ و دو تا ۰ چون گفتیم عدد باینری ۰ و ۱ است. نحوه محاسبه عدد دسیمال به شکل باینری را توضیح خواهم داد.
نحوه تبدیل عدد دسیمال بر مبنای باینری
این امکان وجود دارد که یک عدد ده دهی را بر مبنای دو دویی یا برعکس محاسبه کنیم.برای انجام اینکار یک شیوه با تصویر را به شما آموزش می دهم.
ابتدا یک جدول ترسیم کرده که دارای ستون هایی به هر تعدادی که نیاز دارید، است در ردیف اول از سمت راست به چپ اعداد را بر مبنای ۱۰ از عدد ۱ به شکلی که هربار عدد ضربدر ۲ بشود وارد میکنیم.

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

حال اگر بخواهیم معادل عدد موردنظر خود، مقدار دودویی آن را بدست بیاوریم باید براساس جمع مقادیر ده دهی ستون اول به عدد خود برسیم. اعدادی را که در این محاسبه مورد استفاده قرار میگیرد معادلش عدد ۱ قرار میدهیم و مابقی را عدد ۰ در نظر می گیریم.در اینجا برای عدد ۵ یک عدد ۱،۴ در جدول دسیمال در نظر میگیریم. معادل آنها براساس ده دهی مقدار ۱ و مابقی را ۰ قرار میدهیم.

مثال:

 

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

به هر یک از خانه دودویی که شامل یک مقدار ۰ یا ۱ است یک بیت گفته میشود.برای مثال عدد ۵ بر مبنای دو دویی ۱۰۱ می شود که معادل ۳ بیت است یا عدد ۱۰ برابر با ۱۰۱۰ می شود که معادل ۴ بیت است.
خوب تا اینجا هم اعداد ده دهی هم معادل آن دو دویی را توضیح دادیم و همچنین گفتیم که بیت چیست؟
عملگرهای بیتی یا bitwise در جاوااسکریپت
جاوااسکریپت تنها تا ۳۲ بیت را می تواند محاسبه کند.

مثال:

هر عدد در یک عملیات محاسباتی تبدیل به یک عدد ۳۲ بیتی می‌شود و پس از انجام عملگر دوباره به حالت اولیه خود برمیگردد.
در سیستم های دو دویی محاسبه از سمت راست به چپ صورت می گیرد.
حال اگر عدد ۵ را بر مبنای دو دویی و ۳۲ بیتی بخواهیم تعریف کنیم به شکل زیر است.

مثال:

 

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

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

نحوه نوشتن:

 

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

مثال:

 

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

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

مثال:

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

مثال:

نتیجه را اگر بر مبنای ۱۰ حساب کنیم ۲ می‌شود.

 

عملگر بیتی | یا or

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

نحوه نوشتن:

 

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

مثال:

 

حالت باینری:

عملگر بیتی ^ یا xor

در صورتی که هر دو بیت برابر با ۱ یا ۰ باشد خروجی این عملگر برابر با بیت ۰ خواهد بود.در صورتی که یکی از آنها ۰ یا ۱ باشد مقدار آن ۱ خواهد بود.

نحوه نوشتن:

 

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

مثال:

 

حالت باینری:

عملگر بیتی ~ یا not

در صورتی که بیت ۰ باشد به یک و اگر ۱ باشد به ۰ تبدیل میکند.

نحوه نوشتن:

 

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

مثال:

 

حالت باینری:

 

عملگر بیتی >> یا zero fill right from left shift

با استفاده از این عملگر می توان بیت ها را از سمت راست به چپ تغییر مکان بدهیم.جای بیت های خالی که در سمت راست انتقال یافته اند با عدد ۰ پر می شود.در واقع بیت هایی که از سمت چپ خارج می شود به سمت راست می رود.در اینجا هر تعداد عددی که در سمت راست عملگر باشد آن تعداد جابجایی بیت است.

نحوه نوشتن:

مثال:

 

حالت باینری عدد ۲:

حال آن را به تعداد ۳ بیت به سمت چپ هل می دهیم.

مثال:

 

عملگر << یا zero fill left from right shift

با استفاده از این عملگر می توان بیت ها را از سمت چپ به راست تغییر مکان بدهیم.جای بیت های خالی که در سمت چپ انتقال یافته اند با عدد ۰ پر می شود.در واقع بیت هایی که از سمت راست خارج می شود به سمت چپ می رود.در اینجا هر تعداد عددی که در سمت راست عملگر باشد آن تعداد جابجایی بیت است. نحوه نوشتن:

مثال:

 

حالت باینری عدد ۵:

حال آن را به تعداد ۲ بیت به سمت راست هل می دهیم.

مثال:

 

عملگر <<< یا zero fill left from right shift

با استفاده از این عملگر می توان بیت ها را از سمت چپ به راست تغییر مکان بدهیم این عملگر شبیه به << است فرق آن در این است که همیشه خروجی عددی مثبت صحیح است که در قالب ۳۲ بیت است.جای بیت های خالی که در سمت چپ انتقال یافته اند با عدد ۰ پر می شود.در واقع بیت هایی که از سمت راست خارج می شود به سمت چپ می رود.در اینجا هر تعداد عددی که در سمت راست عملگر باشد آن تعداد جابجایی بیت است.

نحوه نوشتن:

مثال:

 

حالت باینری عدد ۵:

حال آن را به تعداد ۲ بیت به سمت راست هل می دهیم.

مثال:

دیدگاه خود را بیان کنید

این ایمیل برای عموم منتشر نمی شود