the_king
مدیرکل انجمن
سلام استاد علی
تفریق اعداد باینری ، این جوریه که عدد مثبت رو به اضافه ی تبدیل شده ی اون عدد منفی حساب میکنیم؟ یعنی مثل عدد
که برابرکد:55-67
حساب میکنیم ، اونا هم همینطوره؟کد:55+(-67)
بله، روش مکمل دو (متمم دو) اینطوریه.
نه دیگه، اگر من هم بگم درسته شما نباید قبول کنید که 257 = 1 - 2 و قاعدتا خودتون باید جوابی که باید بهش برسید رو بدونید، شما 00000001 (عدد یک) رو از 00000010 (عدد 2) کسر کرده اید، پس جواب باید 00000001 (عدد یک) باشه و هر جواب دیگه ای محاسبه کنید، یک جای کار ایراد دارهپس یعنی مثلا جواب عبارت اعداد باینری زیر درسته؟
پس جواب این ، باید بشه 257 ؟ درسته؟!کد:10-1 => 10+(-1) -1 => 00000001 => 11111110 => 11111111 10 + 11111111 = 100000001
تبدیل 1- بر اساس مکمل دو (متمم دو) را درست انجام داده اید، ایراد در جمع نهایی ئه. وقتی شما از حافظه 8 بیتی برای مکمل 2 استفاده می کنید، باید جمع نهایی تون هم 8 بیتی باشه، نه 9 بیتی. اون بیت سر ریز شده نهم رو در نتیجه قرار ندهید. مقدار حاصل جمع 00000001 (عدد 1) ئه، نه 100000001 (عدد 257)