مکمل دو

از ویکی‌پدیا، دانشنامهٔ آزاد
مکمل‌دو

مکمل‌دو یا متمم دو، در رایانه‌های دیجیتال برای ساده کردن عمل تفریق و سایر عملیات منطقی به کار می‌روند. از این روش برای نمایش و کار با اعداد علامت‌دار (اعداد منفی و اعداد مثبت) استفاده می‌گردد. مکمل‌دو روش موفقی برای اینکار است چرا که ساده‌ترین روش برای مدارات الکتریکی است تا یک عدد علامت‌دار را محاسبه نمایند. هرچند در گذشته روش‌های دیگری مانند مکمل‌یک استفاده می‌گردید، اما رایانه‌های امروزی از روش مکمل‌دو استفاده می‌کنند.

در هر مبنایی مثل r، دو نوع متمم وجود دارد. یکی متمم مبنا و دیگری متمم مبنای کاهش یافته. در مبنای دو یا همان دستگاه اعداد دودویی نیز، دو نوع متمم وجود دارد. یکی متمم دوم یا همان متمم مبنا و دیگری متمم اول یا همان متمم مبنای کاهش یافته.

مکمل دو یک عدد k بیتی مانند n برابر است با

مکمل دو و عملیات های ریاضی[ویرایش]

مدار هایی که عملیات های ریاضی جمع و ضرب اعداد k بیتی را انجام می دهند، عموما این کار را به پیمانه انجام می دهند. یعنی اگر مثلا مداری دارید که اعداد ۴ بیتی را جمع می زند، و به آن و را ورودی دهید، آن مدار به شما را تحویل می دهد.

اگر این خاصیت را کنار این خاصیت مکمل دو بگذاریم که "مکمل دو هر عدد با منفی آن عدد به پیمانه همنهشت است"، می توانیم در عملیات های ریاضی به جای منفی اعداد، از مکمل دو آن ها استفاده کنیم.

مثال[ویرایش]

فرض کنید با دستگاه های ۴ بیتی کار می کنیم.

مکمل دو عدد ۳، برابر است.

جمع ۵ با منفی ۳ یا همان ۵ منهای ۳، برابر است.

ضرب 2 در منفی ۳ با دستگاه های ۴ بیتی، برابر است که ۱۰ طبق تعریف، مکمل دو عدد 6 یا همان منفی 6 است.

شیوه‌های یافتن مکمل اول و مکمل دوم[ویرایش]

در دستگاه اعداد دودویی پیدا کردن مکمل یک اعداد بسیار ساده‌است. کافیست به جای صفرها، یک، و به جای یک‌ها صفر قرار دهید.

مثال یک

متمم اول عدد (۱۰۱۱۰۰۰)۲ برابر است با (۰۱۰۰۱۱۱)۲

مثال دو

متمم اول عدد (۰۱۰۱۱۰۱)۲ برابر است با (۱۰۱۰۰۱۰)۲

مثال سه

همانطور که می‌بینید در این مثال با رها کردن دو صفر کم ارزش‌تر و اولین ۱ و سپس جایگزینی همهٔ ۱ها با ۰ها و همهٔ ۰ها با ۱ها در چهار رقم باارزش‌تر باقی‌مانده ، یا با با معکوس کردن (تغییر یک به صفر، و بلعکس) و جمع کردن عدد یک با عدد معکوس شده، مکمل دوم آن بدست می‌آید.

متمم دوم عدد (۱۱۰۱۱۰۰)۲ برابر است ب ا (۰۰۱۰۱۰۰)۲

مثال چهار

متمم دوم عدد (۰۱۱۰۱۱۱)۲ برابر است با (۱۰۰۱۰۰۱)۲

منابع[ویرایش]

  • کتاب طراحی دیجیتال (مدار منطقی)، تألیف موریس مانو، سال ۱۹۲۷ - فصل اول بخش ۱-۵