تالار گفتمان مانشت
سوال از صدا و جزوه معماری جلسه نهم - نسخه‌ی قابل چاپ

سوال از صدا و جزوه معماری جلسه نهم - fa_karoon - 08 آبان ۱۳۹۲ ۰۱:۵۹ ب.ظ

سلام دوستان
در صفحه ۴ جلسه ۹ یه فرمول نوشته [tex]x=(1 \sum_{i=4}^{7}b_{i}\times 2^{i-8})\times 2^{(\sum_{i=0}^{3}\times 2^{i})-8}[/tex]

بعد در استاد در توضیحش می گه اون چیزی که به توان Base نرسیده مانتیس است ولی اون چیزی که به توان Base رسیده نماست.
منظور این حرف رو نمی فهمم؟

و سوال دوم اینکه استاد در توضیح مرتبه پیچیدگی الگوریتم Shift & Add نهایتاً به این نتیجه می رسه که پیچیدگی می شه [tex]O(\left \lfloor log k \right \rfloor 1)[/tex]
من متوجه نمی شم چه جوری به این نتیجه می رسه
ممنون می شم توضیح بدید.

RE: سوال از صدا و جزوه معماری جلسه نهم - Morris - 08 آبان ۱۳۹۲ ۰۳:۵۹ ب.ظ

سلام.
جواب سوال اولتون :
فرض کنید یه کامپیوتر داریم که اعداد float رو در ۸ بیت ذخیره می کنه ، به این صورت که در ۴ بیت کم ارزش نما را ذخیره می کنه و در ۴ بیت پر ارزش مانتیس را ذخیره می کنه :
[tex]b_{7}b_{6}b_{5}b_{4}b_{3}b_{2}b_{1}b_{0}[/tex]


یعنی از b0 تا b3 محل ذخیره نما است و از b4 تا b7 محل ذخیره مانتیس است.

فرض کنید در این نمایش base برابر ۲ باشد و نما به صورت bias ذخیره شود (یعنی نمای واقعی باید در این مثال با ۸ جمع شود و سپس در محل b0 تا b3 قرار گیرد)
همچنین فرض بر این است که از فرم نرمال .۱ استفاده می کنیم یعنی اول عدد ذخیره شده در b4 تا b7 باید .۱ قرار دهیم.

بنابراین عدد ما می شه :
[tex]1.b_{7}b_{6}b_{5}b_{4} \times 2^{(b_{3}b_{2}b_{1}b_{0}) - 8}[/tex]



که اگه بازش کنیم میشه :
[tex](1 0.b_{7}b_{6}b_{5}b_{4}) \times 2^{(b_{3}b_{2}b_{1}b_{0}) - 8} = (1 b_{7} \times 2^{-1} b_{6} \times 2^{-2} b_{5} \times 2^{-3} b_{4} \times 2^{-4} ) \times 2^{(b_{3} \times 2^{3} b_{2} \times 2^{2} b_{1} \times 2^{1} b_{0} \times 2^{0}) - 8}[/tex]


که همون فرمولیه که شما نوشته اید.


پاسخ سوال دومتون هم حیلی ساده است.
اگر عدد باینری با مقدار k را داشته باشیم (یعنی k مقدار عدد در مبنای ۱۰ است)، از اون رابطه ای که نوشته اید می شه تعداد دیچیت های عدد در حالت باینری را یدست آورد. مثلا :
k = 16 باشه log16 برابر ۴ است و اگر یکی اضافه کنیم می شه ۵
عدد ۱۶ در مبنای ۲ برابر ۱۰۰۰۰ است که ۵ دیجیت دارد.

اگر به الگوریتم SHIFT&AND دقت کنید، به تعداد دیجیت های مضرب اجرا می شود.