تالار گفتمان مانشت

نسخه‌ی کامل: سوال در مورد سیستم ممیز شناور
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
[تصویر:  attachment.php?aid=274]


سوال سال 87 هست.
منظور از دقت چیه؟
من بایاس رو بلدم ولی با حل من جواب غلط میشه.
حلش چه جوریه؟
من هنوز این بحث رو نخوندم ولی جواب کتاب پوران رو واستون میگذارم:

دقت یعنی فاصله بین اعداد متوالی قابل نمایش.مثلا فاصله اعداد صحیح ثابت است و یک است ولی فاصله بین اعداد ممیز شناور ثابت نیست هر چه به صفر نزدیک شویم فاصله‌ها کمتر میشود و هر چه از صفر دورتر شویم فاصله بین اعداد متوالی بیشتر میشود پس باید فاصله بین کوچکترین عدد مثبت قابل نمایش و عدد بعدی اش و همچنین فاصله بین بزرگترین عدد قابل نمایش و عدد قبلی اش را بیابیم.
a=+min=0000001000000000
b=next=0000001000000001
a-b=2^-26
c=+max=0111111111111111
d=preve=0111111111111110
c-d=2^15
(21 دى 1389 02:33 ب.ظ)afagh1389 نوشته شده توسط: [ -> ]من هنوز این بحث رو نخوندم ولی جواب کتاب پوران رو واستون میگذارم:

دقت یعنی فاصله بین اعداد متوالی قابل نمایش.مثلا فاصله اعداد صحیح ثابت است و یک است ولی فاصله بین اعداد ممیز شناور ثابت نیست هر چه به صفر نزدیک شویم فاصله‌ها کمتر میشود و هر چه از صفر دورتر شویم فاصله بین اعداد متوالی بیشتر میشود پس باید فاصله بین کوچکترین عدد مثبت قابل نمایش و عدد بعدی اش و همچنین فاصله بین بزرگترین عدد قابل نمایش و عدد قبلی اش را بیابیم.
a=+min=0000001000000000
b=next=0000001000000001
a-b=2^-26
c=+max=0111111111111111
d=preve=0111111111111110
c-d=2^15

من جواب تفریق‌ها رو نفمیدم چه جوری اینطوری شد؟هم a-b و هم c-d را اگه تفریق کنیم جواب میشه 2.نمیشه؟؟؟Huh
و این جوابی که نوشتین که تو گزینه‌ها نیست؟ و چرا اینجا مقدار بایاس از نماها کم نشده؟؟؟خیلی قاطی کردم
من نمیدونم من فقط چیزی که توی کتاب گفته رو نوشتم. جواب گزینه 1 میشه. c-d میشه 5+ اشتباها نوشتم 15!
طبق توضیحات متن کتاب:
چون نما=5 است بایاس میشه 1-5=4 و بایاس میشه 4^2 .
یعنی S,E,M مجموعا 16 بیت فضا میگیرند. (با همین ترتیب نوشته شده )
a نوشته شده یک عدد نیست یک نمایش اعداد ممیز شناور است به همین ترتیب شکل سوال است و a مثبت است و S=0 و 5 بیت بعدی 00000 همان نماست. مانتیس نرمال شده و رقم اول باید 1 باشد و 10 بیت دارد و معادل یک عدد اعشاری است .
پس a=2^-1 * 2^-16 است که با توجه به بایاس , و مانتیس بدست آمده.
دقت همانطور که گفتند فاصله دو عدد متوالی است اگر جزوه دکتر اجلالی را مطالعه کرده باشید در آنجا نیز این مطلب تحت عنوان Step بیان شده است.
برای درک بهتر به عکس زیر که از جزوه دکتر اجلالی گرفته شده نگاه کنید:
[attachment=285]
در این مثال مانتیس 4 بیتی و نما 8 بیتی علامت دار می باشد و اعداد هنجار شده هستند.(یک سمت راست نشان داده نمی شود)
با کمی دقت متوجه میشوید که Step(فاصله‌ی دو عدد متوالی) برابر با کم ارزش ترین بیت مانتیس که با نما ترکیب شده است میباشد.کم ارزش ترین بیت در این مثال ارزش دو به توان منهای 4 دارد.
در کمترین نما Step کمترین می باشد و تا موقعی که نما تغییر نکرده فاصله‌ی دو عدد متوالی یکسان می باشد{ ولی وقتی مانتیس 1111 شد مانتیس بعدی می شود 0001 و نما یکی اصافه می شود(عدد ضربدر دو میگردد).با عوض شدن نما Step نیز تغییر میکند.}**این قسمت کروشه دار توی شکل نیست دنبال چیزی نگرد!
به همین ترتیب بیشترین Step وقتی حاصل میشود که نما ماکزیمم شود.
برگردیم به سوالی که پرسیدید که به مراتب ساده‌تر می باشد.کم ارزش ترین بیت مانتیس در اینجا ارزشش برابر [tex]2^{-10}[/tex] میباشد.
کمترین نما:[tex]2^{-16}[/tex] =>حداقل دقت: [tex]2^{-16} \times 2^{-10}=2^{-26}[/tex]
بیشترین نما:[tex]2^{15}[/tex] =>حدکثر دقت: [tex]2^{15} \times 2^{-10}=2^{5}[/tex]
لینک مرجع