تالار گفتمان مانشت
ضرب و تقسیم مانتیس ها در یکدیگر - نسخه‌ی قابل چاپ

صفحه‌ها: ۱ ۲
ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 08 مهر ۱۳۹۳ ۰۸:۳۲ ب.ظ

سلام بچه ها کسی میتونه ضرب و تقسیم ممیز شناورو توضیح بده،فقط قسمته ضرب و تقسیم مانتیسارو. پیشاپیش تشکر

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 09 مهر ۱۳۹۳ ۰۱:۰۲ ق.ظ

کسی نیس کمکی بهم بکنه؟Huh

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 09 مهر ۱۳۹۳ ۰۷:۰۱ ب.ظ

(۰۹ مهر ۱۳۹۳ ۰۱:۰۲ ق.ظ)ziba.O نوشته شده توسط:  کسی نیس کمکی بهم بکنه؟Huh

سلام.سوالتون رو جواب بدم یا دیگه نیازی به توضیحش نیست؟؟

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 09 مهر ۱۳۹۳ ۰۷:۱۷ ب.ظ

(۰۹ مهر ۱۳۹۳ ۰۷:۰۱ ب.ظ)miladcr7 نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۱:۰۲ ق.ظ)ziba.O نوشته شده توسط:  کسی نیس کمکی بهم بکنه؟Huh

سلام.سوالتون رو جواب بدم یا دیگه نیازی به توضیحش نیست؟؟

چرا هنوزم اشکال دارم ، اگه میشه رو مثالهای صفحه ی ۱۹،۲۰ پوران توضیح بدین .فقط قسمته ضرب و تقسیم. تشکرات فراوان

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 09 مهر ۱۳۹۳ ۰۷:۴۰ ب.ظ

(۰۹ مهر ۱۳۹۳ ۰۷:۱۷ ب.ظ)ziba.O نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۷:۰۱ ب.ظ)miladcr7 نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۱:۰۲ ق.ظ)ziba.O نوشته شده توسط:  کسی نیس کمکی بهم بکنه؟Huh

سلام.سوالتون رو جواب بدم یا دیگه نیازی به توضیحش نیست؟؟

چرا هنوزم اشکال دارم ، اگه میشه رو مثالهای صفحه ی ۱۹،۲۰ پوران توضیح بدین .فقط قسمته ضرب و تقسیم. تشکرات فراوان

باشه

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 09 مهر ۱۳۹۳ ۰۷:۴۳ ب.ظ

(۰۹ مهر ۱۳۹۳ ۰۷:۴۰ ب.ظ)miladcr7 نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۷:۱۷ ب.ظ)ziba.O نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۷:۰۱ ب.ظ)miladcr7 نوشته شده توسط:  
(09 مهر ۱۳۹۳ ۰۱:۰۲ ق.ظ)ziba.O نوشته شده توسط:  کسی نیس کمکی بهم بکنه؟Huh

سلام.سوالتون رو جواب بدم یا دیگه نیازی به توضیحش نیست؟؟

چرا هنوزم اشکال دارم ، اگه میشه رو مثالهای صفحه ی ۱۹،۲۰ پوران توضیح بدین .فقط قسمته ضرب و تقسیم. تشکرات فراوان

باشه

مرسیUndecided

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 10 مهر ۱۳۹۳ ۱۲:۵۸ ق.ظ

خب اولش دو تا تعریف رو میگیم
توی تمام عملیات های ممیز شناور یه حالت به نام سرریز در نما و یه حالت به نام زیرریز در نما داریم که میخوام تعریفشون کنم

سرریز در نما:نمای حاصل از ماکزیمم نمای قابل نمایش بزرگتر شه و این خطاست
زیرریز در نما:نمای حاصل از مینیمم نمای قابل نمایش کوچکتر شود که در این حالت عدد ۰ میشه

ابتدا روش ضرب

خب مانتیس ها رو در هم ضرب میکنیم و شاید در مانتیس حاصل زیرریز پیش بیاد که با شیفت به چپ تصحیحش میکنیم
درباره نماها هم اون ها رو با هم جمع میکنیم و مقدار بایاس رو از نمای حاصل کم میکنیم.دلیل تفریق هم اینه چون نماها بایاس شدن پس موقع جمع ۲ تا بایاس اضافی داریم.

حالا مثال:::

(نما ۴ بیتی و مانتیس هم ۴ بیتی)

[tex](0.1001\ast2^{1010})\ast(0.1000\ast2^{0101})[/tex]

که میشه:
[tex]=0.01001000\ast2^{1111-bias}[/tex]

که بایاس میشه:[tex]=2^{4-1}=8[/tex] دقت کن اون ۴ نما هستش

حاصل ضرب میشه:
[tex]0.01001000\ast2^{1111-8}[/tex]

ببینید ما میدونیم ضرب [tex]n[/tex] بیت در [tex]n[/tex] بیت حاصلش [tex]2n[/tex] بیت میشه ولی ما اینجا میخوایم فقط [tex]n[/tex] بیت رو ذخیره کنیم پس میایم [tex]n[/tex] بیت سمت چپ مانتیس حاصل رو نگه میداریم

پس الان حاصل اینه:
[tex]0.0100\ast2^{1111-8}=0.0100\cdot2^{0111}[/tex]

حالا چون در مانتیس زیر ریز ایجاد شده باید مانتیس رو شیفت به چپ بدیم و از سمت راست ۰ اضافه کنیم ولی یه روش دیگه هست که میاد
دو بیت از ۴ بیت مانتیس رو که از دست میره نگه میداره و از سمت راست اونا رو وارد میکنه
پس حاصل میشه:
[tex]0.1001\ast2^{0110}[/tex]

خب این از ضرب اگه مشکلی هست بگید اگر هم که نه تا تقسیم رو هم بگم

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 10 مهر ۱۳۹۳ ۰۱:۰۹ ق.ظ

(۱۰ مهر ۱۳۹۳ ۱۲:۵۸ ق.ظ)miladcr7 نوشته شده توسط:  خب اولش دو تا تعریف رو میگیم
توی تمام عملیات های ممیز شناور یه حالت به نام سرریز در نما و یه حالت به نام زیرریز در نما داریم که میخوام تعریفشون کنم

سرریز در نما:نمای حاصل از ماکزیمم نمای قابل نمایش بزرگتر شه و این خطاست
زیرریز در نما:نمای حاصل از مینیمم نمای قابل نمایش کوچکتر شود که در این حالت عدد ۰ میشه

ابتدا روش ضرب

خب مانتیس ها رو در هم ضرب میکنیم و شاید در مانتیس حاصل زیرریز پیش بیاد که با شیفت به چپ تصحیحش میکنیم
درباره نماها هم اون ها رو با هم جمع میکنیم و مقدار بایاس رو از نمای حاصل کم میکنیم.دلیل تفریق هم اینه چون نماها بایاس شدن پس موقع جمع ۲ تا بایاس اضافی داریم.

حالا مثال:::

(نما ۴ بیتی و مانتیس هم ۴ بیتی)

[tex](0.1001\ast2^{1010})\ast(0.1000\ast2^{0101})[/tex]

که میشه:
[tex]=0.01001000\ast2^{1111-bias}[/tex]

که بایاس میشه:[tex]=2^{4-1}=8[/tex] دقت کن اون ۴ نما هستش

حاصل ضرب میشه:
[tex]0.01001000\ast2^{1111-8}[/tex]

ببینید ما میدونیم ضرب [tex]n[/tex] بیت در [tex]n[/tex] بیت حاصلش [tex]2n[/tex] بیت میشه ولی ما اینجا میخوایم فقط [tex]n[/tex] بیت رو ذخیره کنیم پس میایم [tex]n[/tex] بیت سمت چپ مانتیس حاصل رو نگه میداریم

پس الان حاصل اینه:
[tex]0.0100\ast2^{1111-8}=0.0100\cdot2^{0111}[/tex]

حالا چون در مانتیس زیر ریز ایجاد شده باید مانتیس رو شیفت به چپ بدیم و از سمت راست ۰ اضافه کنیم ولی یه روش دیگه هست که میاد
دو بیت از ۴ بیت مانتیس رو که از دست میره نگه میداره و از سمت راست اونا رو وارد میکنه
پس حاصل میشه:
[tex]0.1001\ast2^{0110}[/tex]

خب این از ضرب اگه مشکلی هست بگید اگر هم که نه تا تقسیم رو هم بگم

جزئیات ضربو نمیدونم این که اون صفر بعد ممیز چرا اضافه میشه؟ من حاصلو این میارم: ۰/۱۰۰۱۰۰۰
اگه بخاطره اینه که ۲nبیتی کنیم چرا آخرش صفر اضافه نمیکنیم؟

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 10 مهر ۱۳۹۳ ۰۱:۱۹ ق.ظ

(۱۰ مهر ۱۳۹۳ ۰۱:۰۹ ق.ظ)ziba.O نوشته شده توسط:  
(10 مهر ۱۳۹۳ ۱۲:۵۸ ق.ظ)miladcr7 نوشته شده توسط:  خب اولش دو تا تعریف رو میگیم
توی تمام عملیات های ممیز شناور یه حالت به نام سرریز در نما و یه حالت به نام زیرریز در نما داریم که میخوام تعریفشون کنم

سرریز در نما:نمای حاصل از ماکزیمم نمای قابل نمایش بزرگتر شه و این خطاست
زیرریز در نما:نمای حاصل از مینیمم نمای قابل نمایش کوچکتر شود که در این حالت عدد ۰ میشه

ابتدا روش ضرب

خب مانتیس ها رو در هم ضرب میکنیم و شاید در مانتیس حاصل زیرریز پیش بیاد که با شیفت به چپ تصحیحش میکنیم
درباره نماها هم اون ها رو با هم جمع میکنیم و مقدار بایاس رو از نمای حاصل کم میکنیم.دلیل تفریق هم اینه چون نماها بایاس شدن پس موقع جمع ۲ تا بایاس اضافی داریم.

حالا مثال:::

(نما ۴ بیتی و مانتیس هم ۴ بیتی)

[tex](0.1001\ast2^{1010})\ast(0.1000\ast2^{0101})[/tex]

که میشه:
[tex]=0.01001000\ast2^{1111-bias}[/tex]

که بایاس میشه:[tex]=2^{4-1}=8[/tex] دقت کن اون ۴ نما هستش

حاصل ضرب میشه:
[tex]0.01001000\ast2^{1111-8}[/tex]

ببینید ما میدونیم ضرب [tex]n[/tex] بیت در [tex]n[/tex] بیت حاصلش [tex]2n[/tex] بیت میشه ولی ما اینجا میخوایم فقط [tex]n[/tex] بیت رو ذخیره کنیم پس میایم [tex]n[/tex] بیت سمت چپ مانتیس حاصل رو نگه میداریم

پس الان حاصل اینه:
[tex]0.0100\ast2^{1111-8}=0.0100\cdot2^{0111}[/tex]

حالا چون در مانتیس زیر ریز ایجاد شده باید مانتیس رو شیفت به چپ بدیم و از سمت راست ۰ اضافه کنیم ولی یه روش دیگه هست که میاد
دو بیت از ۴ بیت مانتیس رو که از دست میره نگه میداره و از سمت راست اونا رو وارد میکنه
پس حاصل میشه:
[tex]0.1001\ast2^{0110}[/tex]

خب این از ضرب اگه مشکلی هست بگید اگر هم که نه تا تقسیم رو هم بگم

جزئیات ضربو نمیدونم این که اون صفر بعد ممیز چرا اضافه میشه؟ من حاصلو این میارم: ۰/۱۰۰۱۰۰۰
اگه بخاطره اینه که ۲nبیتی کنیم چرا آخرش صفر اضافه نمیکنیم؟

فکر کنم باید به سمت چپ اضافه شه.ولی علتشو پیدا میکنم و میگم.شما فعلا فرض رو این بگیر.

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 10 مهر ۱۳۹۳ ۰۱:۳۱ ق.ظ

(۱۰ مهر ۱۳۹۳ ۰۱:۱۹ ق.ظ)miladcr7 نوشته شده توسط:  
(10 مهر ۱۳۹۳ ۰۱:۰۹ ق.ظ)ziba.O نوشته شده توسط:  
(10 مهر ۱۳۹۳ ۱۲:۵۸ ق.ظ)miladcr7 نوشته شده توسط:  خب اولش دو تا تعریف رو میگیم
توی تمام عملیات های ممیز شناور یه حالت به نام سرریز در نما و یه حالت به نام زیرریز در نما داریم که میخوام تعریفشون کنم

سرریز در نما:نمای حاصل از ماکزیمم نمای قابل نمایش بزرگتر شه و این خطاست
زیرریز در نما:نمای حاصل از مینیمم نمای قابل نمایش کوچکتر شود که در این حالت عدد ۰ میشه

ابتدا روش ضرب

خب مانتیس ها رو در هم ضرب میکنیم و شاید در مانتیس حاصل زیرریز پیش بیاد که با شیفت به چپ تصحیحش میکنیم
درباره نماها هم اون ها رو با هم جمع میکنیم و مقدار بایاس رو از نمای حاصل کم میکنیم.دلیل تفریق هم اینه چون نماها بایاس شدن پس موقع جمع ۲ تا بایاس اضافی داریم.

حالا مثال:::

(نما ۴ بیتی و مانتیس هم ۴ بیتی)

[tex](0.1001\ast2^{1010})\ast(0.1000\ast2^{0101})[/tex]

که میشه:
[tex]=0.01001000\ast2^{1111-bias}[/tex]

که بایاس میشه:[tex]=2^{4-1}=8[/tex] دقت کن اون ۴ نما هستش

حاصل ضرب میشه:
[tex]0.01001000\ast2^{1111-8}[/tex]

ببینید ما میدونیم ضرب [tex]n[/tex] بیت در [tex]n[/tex] بیت حاصلش [tex]2n[/tex] بیت میشه ولی ما اینجا میخوایم فقط [tex]n[/tex] بیت رو ذخیره کنیم پس میایم [tex]n[/tex] بیت سمت چپ مانتیس حاصل رو نگه میداریم

پس الان حاصل اینه:
[tex]0.0100\ast2^{1111-8}=0.0100\cdot2^{0111}[/tex]

حالا چون در مانتیس زیر ریز ایجاد شده باید مانتیس رو شیفت به چپ بدیم و از سمت راست ۰ اضافه کنیم ولی یه روش دیگه هست که میاد
دو بیت از ۴ بیت مانتیس رو که از دست میره نگه میداره و از سمت راست اونا رو وارد میکنه
پس حاصل میشه:
[tex]0.1001\ast2^{0110}[/tex]

خب این از ضرب اگه مشکلی هست بگید اگر هم که نه تا تقسیم رو هم بگم

جزئیات ضربو نمیدونم این که اون صفر بعد ممیز چرا اضافه میشه؟ من حاصلو این میارم: ۰/۱۰۰۱۰۰۰
اگه بخاطره اینه که ۲nبیتی کنیم چرا آخرش صفر اضافه نمیکنیم؟

فکر کنم باید به سمت چپ اضافه شه.ولی علتشو پیدا میکنم و میگم.شما فعلا فرض رو این بگیر.

ممنون میشم ۲ روزه سره اون علافم نه میتونم رد شم نه متوجه میشم، تو تقسیمم نمیدونم اون دو تا عددو چطوری بهم تقسیم میکنه؟ یعنی تو تقسیم مکمل دو هم اشکال دارم. ببخشیدا توروخدا

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 10 مهر ۱۳۹۳ ۰۱:۳۴ ق.ظ

ببینید برای اضافه کردن ۰ شما ضرب رو به صورت صحیح باید در نظر بگیری.برای همینه که ۰ از سمت چپ اضافه میشه

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 10 مهر ۱۳۹۳ ۰۱:۴۳ ق.ظ

(۱۰ مهر ۱۳۹۳ ۰۱:۳۴ ق.ظ)miladcr7 نوشته شده توسط:  ببینید برای اضافه کردن ۰ شما ضرب رو به صورت صحیح باید در نظر بگیری.برای همینه که ۰ از سمت چپ اضافه میشه

بله حق با شماست میشه اونطوری حساب کرد

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 10 مهر ۱۳۹۳ ۱۰:۳۹ ق.ظ

سلام

حالا تقسیم ممیز شناور

مانتیس ها رو به هم تقسیم میکنیم که امکان سرریز در مانتیس وجود داره که با شیفت به راست اونو برطرف میکنیم
برای نما هم اونا رو از هم کم میکنیم و بعدش اینبار بایاس رو بهش اضافه میکنیم و بیت سمت چپ نما رو هم عوض میکنیم

مثال:::::

فرض کنید میخوایم این تقسیم رو انجام بدیم:

[tex](0.1011\ast2^{1101})\div(0.1001\ast2^{1001})[/tex]

خب میدونیم که تقسیم [tex]2n[/tex] بیت بر [tex]n[/tex] بیت شامل [tex]n[/tex] بیت خارج قسمت و [tex]n[/tex] بیت باقیمانده میشه
ولی اگه [tex]n[/tex] بیت باارزش مقسوم از [tex]n[/tex] بیت مقسوم علیه بیشتر باشه سرریز داریم و خارج قسمت بیشتر از [tex]n[/tex] بیت میشه برای همین میایم با شیفت درستش میکنیم

درضمن ما اینجا میخوایم تقسیم رو به حالت [tex]2n[/tex] بیت بر [tex]n[/tex] در بیاریم به همین دلیل ۴ صفر رو به سمت راست مقسوم اضافه میکنیم خب؟
پس حالا تقسیم مانتیسها این شکلی شده:

[tex](0.10110000)\div(0.1001)[/tex]

که حاصل این تقسیم میشه :[tex]1.0011[/tex]
نماها رو از هم کم میکنیم و با بایاس جمع میزنیم پس حاصل کل میشه:
[tex]1.0011\ast2^{1100}[/tex]

ولی همونطور که گفتیم الان مانتیس ما سرریز داره پس با شیفت به راست تصحیحش میکنیم که حاصل کلی میشه:
[tex]0.1001\ast2^{1101}[/tex]

اینم از تقسیم.مشکلی بودش بگید تا بحث کنیم روش

RE: ضرب و تقسیم مانتیس ها در یکدیگر - ziba.O - 10 مهر ۱۳۹۳ ۱۲:۱۷ ب.ظ

جزئیات این قسمتشو میخواستم نمیتونم به اون جواب نهایی برسم.

RE: ضرب و تقسیم مانتیس ها در یکدیگر - MiladCr7 - 10 مهر ۱۳۹۳ ۰۷:۰۱ ب.ظ

(۱۰ مهر ۱۳۹۳ ۱۲:۱۷ ب.ظ)ziba.O نوشته شده توسط:  جزئیات این قسمتشو میخواستم نمیتونم به اون جواب نهایی برسم.
ببینید ۴ رقم ۴ رقم جدا کنید و توی مکمل ۲ حساب کنید.هیچ نکته خاصی هم نداره.اگر هم میخواین براتون بنویسم