مقاله بررسی سیستم اعداد ماندهای (باقیمانده)در 26 صفحه ورد قابل ویرایش
1-1) مقدمه...................................................................................................... 2
2-1) عملیات ریاضی........................................................................................ 7
1-2-1) معکوس ضرب................................................................................... 10
3-1) سیستم اعدادمبنای در هم وابسطه......................................................... 12
4-1) تبدیل اعداد به سیستم اعداد ماندهای و برعکس..................................... 22
1-4-1-) تبدیل اعداد از سیستم باینری به سیستم ماندهای .......................... 24
5-1) انتخاب پیمانه........................................................................................... 26
سیستم اعداد ماندهای یک سیستم اعداد صحیح است، که مهمترین ویژگیاش بطور ذاتی انتقال رقم نقلی مجازی در جمع و ضرب و تفریقهاست، همچنین نتجه جمع و تفریق و ضرب اعداد ما در مرحله اول بدون در نظر گرفتن طول اعداد مشخص میشود، متأسفانه در سیستم اعداد ماندهای عملیات ریاضی دیگری مانند تقسیم و مقایسه و شناسایی علامت خیلی پیچیده و کند هستند از مشکلات دیگر سیستم اعداد ماندهای این است که چون با سیستم اعداد صحیح کار میکند در نتیجه نمایش اعداد اعشاری در سیستم اعداد ماندهای خیلی ناجور است با توجه به خواص سیستم اعداد ماندهای نتیجه میگیریم که در اهداف عمومی کامپیوترها (ماشین حسابها) به صورت کاملاً جدی نمیتواند مطرح بشود. بهرحال ، برای بعضی از کاربرها که اهداف خاصی دارند مثل بسیاری از انواع فیلترهای دیجیتال، تعداد جمع و ضربهایی که اساساً بزرگتر تعداد و درخواست بزرگی دامنه و شناسایی سرریز، تقسیم و شبیه اینها، سیستم اعداد باقیمانده خیلی جذاب و جالب میتواند باشد.
سیستم اعدادماندهای اساساً بوسیله یک مبنای چندتائی (N - تائی) و نه یک مبنای واحد مثل از اعداد صحیح مشخص میشود. هر کدام از ها باقیمانده پس از تقسیم یک عدد بر آنها است.عدد صیح X در سیستم اعداد ماندهای بوسیلة یک N -تائی مثل نمایش داده میشود که هر یک عدد غیرمنفی صحیح است که در رابطة زیر صادق است:
|
| X |
0 1 0 1 0 1 0 1 0 1 0 1 0 | 2 0 1 2 0 1 2 0 1 2 0 1 2 | -4 -3 -2 -1 0 1 2 3 4 5 6 7 8 |
جدول 1-1 نمایش اعداد در سیستم اعداد ماندهای به پیمانة
بزرگترین عدد صحیحی است بطوریکه معروف است به باقیمانده X به پیمانة Mi ، و در روش نوشتن اعداد هر دو و با یک مفهوم استفاده میشوند.
مثال 1-1 سیستم اعدادماندهای 2- باقیماندهای با پیمانههای را ملاحظه کنید در این سیستم نمایش عدد صحیح x=5 به صورت نمایش داده میشود که و از رابطههای زیر بدست میآیند.
چونکه
چونکه
بنابراین در این سیستم اعداد ماندهای با پیمانههای و عدد صحیح 5 به صورت (2,1) نشان داده میشود.
عدد X لزوماً نباید یک عدد صحیح مثبت باشد بلکه میتواند عدد صیح منفی هم باشد برای مثال اگر X=-2 باشد آنگاه
چونکه
چونکه
نکتهای که در اینجا وجود دارد این است که ها مثبت تعریف می شوند .
بنابراین عدد صیح -2 در سیستم اعداد ماندهای با پیمانههای و بصورت نمایش داده میشود.
جدول 1-1 اعداد صحیح در محدودة [-4,8] را در سیستم اعداد ماندهای به پیمانة نمایش داده است.
همانطور که از جدول 1-1 مشخص است نمایش ماندهای یک عدد صحیح منحصر بفرد است در حالی که بر عکس این مطلب درست نیست و نمایش صحیح دو یا چند عددماندهای ممکن است یکسان باشد برای مثال نمایش صحیح (1،1) هم عد یک میشود و هم عدد هفت، پس در نتیجه ما باید دامنة اعدادی را که نمایش داده می شوند محدود کنیم، همنطور که از جدول 1-1 مشخص میشود نمایش ماندهای دورهای است و تکرار میشود و در اینجا محدودة تکرارش شش است، ما در سیستم اعداد ماندهای به پیمانة فقط شش نمایش مختلف دادیم چونکه دو مقدار مختلف سه مدقار مختلف میتوانند به خود بگیرند، بنابراین ما باید ناحیة نمایش را به شش عدد محدود بکنیم، دو ناحیةممکن در جدول مشخص شدهاند، اولی و دومی است.
در حالت کلی در سیستم اعدادماندهای میتوان گفت که تعداد نمایشهای غیرتکراری برابر است با کوچکترین مضرب مشترک پیمانهها، که به صورت زیر نمایش داده میشود.
و از همین عنصر برای محدود کردن ناحیة نمایش استفاده میکنیم.
کوچترین مضرب مشترک پیمانهها کوچکترین عدد است که همة پیمانهها بر آن تقسیم می شوند . برای مثال کوچکترین مضرف مشترک اعداد 2 و 3 عدد 6 میشود. ولی کوچکترین مضرب مشترک اعداد 2 و 4 عدد 4 میشود . بزرگترین ناحیة ممکن عبارت است از حاصلظرب همة پیمانهها در همدیگر
و برای بدست آوردن بزرگترین ناحیة ممکن ما باید پیمانهها را دو به دو نسبت به هم اول انتخاب کنیم، دو پیمانة و را نسبت به هم اول گوییم اگر که بزرگترین مقسوم علیه مشترک آنها یک باشد. و معمولاً به این شکل مینویسیم
برای مثال اعداد 4 و 9 نسبت به هم اول و هستند اگر چه خودشان هیچکدام عدد اول نیستند و اعداد 4 و 24 نسبت به هم اول نیستند چونگه بزرگترین مقسوم علیه مشترک آنها عدد 4 میباشد اگر دو عدد خودشان اول باشند قطعاً نسبت به هم نیز اول هستند مثلاً اعداد 2 و 3 و یا 5 و 7 و …….
حال ما عدد M را بدست آوردهایم، حال ما می توانیم یک ناحیة M تائی از اعداد صحیح را به عنوان محدودة نمایش سیستم اعداد ماندهای مربوطه در نظر گرفت، اگر که اعداد صحیح مثبت احتیاج داشته باشیم میتوان ناحیه [O,M-1] را در نظر گرفت و اگر درجائی دیگر اعداد منفی هم مطلوب بودند میتوانیم ناحیه را به این صورت تعریف کنیم که اگر M زوج باشد و اگر M فرد باشد. .
اگر به جدول 1-1 نگاه کنیم و ناحیه [0,5] را بررسی کنیم متوجه میشویم که هیچ دو عددی از آن شبیه هم نیستند.
11 انتخاب پیمانه
ما ممکن است از انتخاب پیمانه های مختلف برای هر یک سیستم اعداد مانده ای اهداف مختلفی داشته باشیم اگر که هدفمان کم کردن زمان اجرای جمع و ضرب باشد آنگاه تعداد زیاد پیمانه کوچک بهتر از تعداد کم پیمانه بزرگ است مثلا یک سیستم اعداد مانده ای با پیمانه برای برای جمع و ضرب مناسب تر از یک سیستم اعداد مانده ای با پیمانه است، اگر توجه کرده باشیم هر دو این سیستم ها دارند ولی به این خاطر سیستم اول بهتر است چونکه زمان اجرای جمع و ضرب به زمان اجرا بزرگترین عدد وابسطه است بهر حال از طرف دیگر تعداد زیاد پیمانه کوچک نسبت به تعداد کم پیمانه بزرگ برای تبدیل سیستم اعداد مانده ای به سیستم اعداد مبنای در هم وابسطه زمان اجرایش طول می کشد، چونکه این تبدیل یک پروسه است که تعداد مراحلش بوسیله تعداد پیمانه ها مشخص می شود، و اینگونه تبدیلات را هم برای اعمالی مثل شناسایی علامت وشناسایی سرریز و دامنه مقایسه نیاز داریم.
نکته دیگر که در انتخاب پیمانه باید دقت کنیم این واقعیت است که باقیمانده ها باید به طور عادی کد شده باشند در بعضی کد باینری و عملیات ریاضی روی باقیمانده ها باید اجرا شود مشابه نمایش باینری.
بنابراین ما اهداف زیر را دنبال می کنیم:
1- مجموع تعداد بیت ها تشکیل دهنده پیمانه ها در سیستم اعداد باینری باید کم باشد.
2- برای سادگی اجرای عملیات ریاضی روی آنها، کد باینری راحتی داشته باشند.
کوچکترین تعداد بیتی که برای نمایش پیمانه در سیستم اعداد دودویی نیاز است برابر است با بنابراین ما ماکزیمم استفاده در حافظه را موقعی که پیمانه ها توانی از 2 باشند مثلا و یا خیلی نزدیک به این مثل .
به روشنی مشخص است که پیمانه هایی که انتخاب می کنیم فقط یکی شان می تواند توانی از دو باشد چونکه طبق تعریف اولیه باید دو به دو نسبت به هم اول باشند ما پس از اینکه را انتخاب کردیم انتخاب های بعدی مان را می توانیم به صورت انجام داد که البته باز هم مقدار کمی پیمانه به شکل می توانیم انتخاب کنیم ، چونکه به عنوان مثال اگر k زوج باشد آنگاه :
و در نتیجه و نسبت به هم اول نیستند و همچنین برای بعضی مقادیر فرد k ، ممکن است قابل فاکتور گیری باشند.
پیمانه های انتخاب شده باید در حد امکان نزدیک به هم باشند و همچنین از انتخاب
پیمانه های خیلی بزرگ خودداری کنیم که رعایت این عوامل باعث کم شدن زمان اجرا
می شود.