اعداد باینری علامت دار و sign extension:
در یک عدد علامت دار n بیتی، 1 بودن بیت دارای بیشترین ارزش معادل با ضرب یک علامت منفی در ارزش معادل این بیت است. مثلا در عدد 8 بیتی علامت دار 11111111، بیت ها به ترتیب معادل با 1، 2، 4، 8، 16، 32، 64 و 128- هستند. برای افزایش تعداد بیت های یک عدد علامت دار باید msb آن در تمام بیت های اضافه شده گسترش داده شود که به این عملیات sign extension گفته می شود. به عنوان مثال اگر بخواهیم عدد 8 بیتی علامت دار 10000011 را که معادل 125- است به عددی 16 بیتی تبدیل کنیم، عدد باینری 16 بیتی معادل برابر 1111111110000011 خواهد بود. در این مثال چون msb در عدد 8 بیتی 1 است، در تمام 8 بیت اضافه شده هم باید 1 قرار داده شود. در عدد 16 بیتی حاصل از عملیات sign extension این بار msb معادل 32768- است و بقیه بیت ها معادل با اعداد مثبت هستند و عدد کلی باز هم برابر 125- است.
@KnowledgePlus
Post #511
8.48K