تبیان، دستیار زندگی
تا به حال در مورد سیستم اعداد iEEE، اعداد ممیز شناور و NaN و نحوه نمایش آنها صحبت کرده ایم. این بار با نگاهی پایه‌ای تر برای آن دسته از مخاطبانی که آشنایی چندانی با سیستم‌های عددی ندارند، محاسبات را مرور می‌کنیم...
عکس نویسنده
عکس نویسنده
بازدید :
زمان تقریبی مطالعه :

ضرب و تقسیم‌های کامپیوتری


تا به حال در مورد سیستم اعداد iEEE، اعداد ممیز شناور و NaN و نحوه نمایش آنها صحبت کرده ایم. این بار با نگاهی پایه‌ای تر برای آن دسته از مخاطبانی که آشنایی چندانی با سیستم‌های عددی ندارند، محاسبات را مرور می‌کنیم.

همان طور که می‌دانید پایه سیستم های کامپیوتری بر اساس محاسبات باینری است. اصولا یک سیستم اعداد در مبنای n دارای n رقم می باشد. برای تعیین مقداری که یک عدد نشان می دهد، لازم است که هر رقم را با عددی از توان n متناسب با ارزش مکانی رقم، ضرب کرده و سپس تمام رقم های وزن دار را با هم جمع کنیم.

ضرب و تقسیم‌های کامپیوتری

به عنوان مثال سیستم اعداد دهدهی که هر روز در زندگی معمولی استفاده می کنیم دارای پایه 10 است و رقم های به کار رفته در آن از 0 تا 9 می باشد. که به این ترتیب عدد 5/724 به صورت زیر تعبیر می شود:

(7 * 10^2) + (2 * 10^1) + (4 * 10^0) + (5 * 10^-1)

اعداد باینری

پایه سیستم اعداد بایتری، 2 است و رقم های استفاده شده در آن 0 و 1 هستند. به عنوان مثال مانند سیستم دهدهی، عدد 101101 به صورت زیر تعبیر می شود:

(1 * 2^5) + (0 * 2^4) + (1 * 2^3) + (1 * 2^2) + (0 * 2^1) + (1 * 2^0) = 45

به این ترتیب می توان معادل دهدهی هر عدد باینری را محاسبه کرد. با توجه به توان پایه، وزن هر رقم مشخص می شود. بنابراین وزن های هر بیت از کوپکترین بیت سمت راست برابر 2^0، 2^1، ... ، 2^7،... می باشد. و اگر عدد ما 8 بیتی باشد وزن هر بیت مطابق شکل زیر خواهد بود:

ضرب و تقسیم‌های کامپیوتری

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

لذا مطابق شکل اگر بیت 7 برابر یک باشد مقدار آن 1 * 2^7= 128 و اگر بیت 6 برابر یک باشد مقدار آن برابر 1 * 2^6= 64 خواهد بود.

برای تبدیل عدد دهدهی به معادل باینری آن، می توان عدد دهدهی را تقسیم بر 2 نمود و باقیمانده ها را تا موقعی که خارج قسمت صفر شود، در نظر گرفت. به عنوان مثال برای تبدیل عدد 25 به مقدار باینری خواهیم داشت:

25 / 2 = 12  , 1

12 / 2 = 6 ,    0

6 / 2 = 3 ,      0

3 / 2 = 1 ,      1

1 / 2 = 0 ,      1

که در آن عدد جلوی مساوی برابر با خارج قسمت و عدد بعد از ویرگول برابر با باقی مانده است. اولین باقی مانده کوچکترین یا کم ارزش ترین بیت محسوب می شود و آخرین باقی مانده بزرگترین یا پر ارزش ترین بیت. پس عدد 25 در مبنای 2 برابر خواهد بود با 11001.

برای تبدیل عدد ممیز دار مانند 6875/41 به باینری می بایستی ابتدا 41 را از قسمت کسری 6875/0 جدا کنیم. جهت تبدیل عدد 41 به باینری تقسیمات متوالی بر 2 را تا جایی که خارج قسمت به صفر برسد، انجام می دهیم. ولی برای قسمت کسری روش متفاوتی را در پیش می گیریم.

برای قسمت کسری لازم است آن را در 2 ضرب کنیم. بعد از هر ضرب، قسمت صحیح را جدا می کنیم و دوباره عبارت کسری را در 2 ضرب می کنیم.این روش را تا جایی که قسمت کسری برابر با صفر شود ادامه می دهیم.

در انتها قسمت صحیح عدد باینری و قسمت کسری عدد را کنار یکدیگر قرار می دهیم. به عنوان نمونه همین عدد 6875/41 را از مبنای ده به مبنای دو تبدیل می کنیم.

برای  عدد صحیح 41 خواهیم داشت:

41 / 2 = 20 , 1

20 / 2 = 10 , 0

10 / 2 = 5 , 0

5 / 2 = 2 , 1

2 / 2 = 1 , 0

1 / 2 = 0 , 1

=101001

و برای قسمت کسری 6875/0 خواهیم داشت:

0.6875 * 2 = 1.3750

0.375 * 2 = 0.750

0.750 * 2 = 1.500

0.500 * 2 = 1.000

=0.1011

با کنار هم قرار دادن دو قسمت صحیح و کسری به عدد باینری (101001.1011) می‌رسیم.

فاطمه مجدآبادی

بخش دانش و زندگی تبیان