من هم نگفتم 255-1111 1111 = -127 هست نه -255
اگر دقت میکردید گفتم اونجوری که اون دوست عزیزمون گفتنند میشه 255- و من این
مورد رو تایید نکردم .با این حال باعث سو استفاده شما شد.
و در اصل برابر با 255 هست نه 127- ....
عدد 127- برابر با 10000001 هست.
سیستم اعداد منفی رو در مکمل 2 میگم و الا دیگه اعداد منفی معنایی نداشت
وقتی شما عدد 10000001 رو برگشت بدید میشه 01111111 که برابر با 127 هست و
وقتی به مکمل 2 میره میشه 127-
ولی وقتی 128 به مکمل 2 میره تا بشه 128- در یک بایت جا نمیگیره که این موضوع رو
در پست اولم توضیح دادم.
0000 1000 برابر با 128 هست , نه 128-و 0000 1000 برابر -128 هست.
من حرفی از عدد 128 علامت دار نزدم. !!!پس عدد 128 علامت دار بصورت زیر نمایش داده خواهد شد.
بایت اول بایت دوم
------------ -----------
0000 1000 0000 0000
در واقع ما عددی به نام عدد 128 علامت دار نداریم ...بهتره بگید عدد 128 در بایت علامت دار.
برای نمایش اعداد منفی ما باید اونا رو به مکمل 2 اونا تبدیل کنیم و وقتی عدد 128
را به مکمل 2 تبدیل میکنیم به 9 بیت نیاز خواهیم داشت که در واقع این عدد در 2 بایت
جا میگیره.
مکمل 2 عدد 128 که میشه 128- به صورت زیر هست:
1111111110000000
حالا وقتی شما این عدد رو برگشت بدید میشه
10000000 که برابر با 128 هست.
پس زیاد هم فرقی نمیکنه که کی اساس رو معین کنه.![]()