اولین بار است که به این وب‌سایت می‌آیید. راهنما را مطالعه کنید!
x
موسسه خیریه محک

شهر ریاضی بازی-ریاضی

روش ممیز ثابت در ذخیره‌سازی اعشاری چیست؟

+1 امتیاز
2,562 نمایش
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پرسیده شده شنبه ۱۴ اردیبهشت ۱۳۹۲ در زبان‌های برنامه‌نویسی توسط prodo  
ویرایش شده یکشنبه ۱۲ خرداد ۱۳۹۲ توسط prodo

1 پاسخ

0 امتیاز

ممیز ثابت در حقیقت استفاده از متغیرهای صحیح در کامپیوتر برای نشون دادن مقادیر اعشاری هست.
پردازنده‌های جدید بیشترشون یک واحد محاسبات اعشاری FPU دارن که از روش ممیز شناور استفاده می‌کنه که روش خوب و کارایی هست.
در حالت‌هایی که پردازنده این واحد کاربردی رو نداره یا داره ولی استفاده از روش ممیز ثابت (ذخیره‌سازی اعداد اعشاری به صورت صحیح) کارایی بیشتری داره از این روش استفاده می‌شه. وگرنه در بیشتر حالت‌ها روش ممیز شناور انتخاب خوبیه.

حالا روش این کار
فرض کنین عدد ۱۲.۳۴۵ رو در کامپیوتر بخوایم ذخیره کنیم. می‌تونیم این کار و به صورت زیر انجام بدیم

12.345 = 12345 * 10^-3

و مقدار ۱۲۳۴۵ رو در کامپیوتر ذخیره کنیم. فقط موقع خوندنش باید دوباره در یک هزارم ضرب بشه. حالا فرض کنیم عدد ۱۲.۳ رو بخوایم ذخیره کنیم. این کار و می‌تونیم به صورت زیر انجام بدیم

12.3 = 123 * 10^-1

و مقدار ۱۲ رو در کامپیوتر ذخیره کنیم. فقط موقع خوندن مقدار رو باید در یک صدم ضرب کنیم.

کاری که در روش ممیز ثابت می‌شه اینه که یک عدد مشخص و ثابت برای توان در نظر گرفته می‌شه و همه‌ی اعداد با استفاده از اون عدد تبدیل شده و ذخیره می‌شه. بعدش هم موقع خوندن با استفاده از همون ثابت، اعداد خونده می‌شه.

مثلاً فرض کنید این مقدار -۳ باشه. مقادیر زیر رو با ممیز ثابت تبدیل می‌کنیم

12.3 = 12300 * 10^-3
1.233 = 1233 * 10^-3
21 = 21000 * 10^-3

حالا می‌شه از ذخیره‌سازی عدد صحیح برای مقادیر ۱۲۳۰۰ و ۱۲۳۳ و ۲۱۰۰۰ استفاده کرد.

در کامپیوتر تنها اتفاقی که می‌افته استفاده از پایه‌ی ۲ به جای۱۰ هست.

129.25 = 10000001.01 = 10000001010 * 2^-3
10 = 1010 = 1010000 * 2^-3
هیچ پژوهش انسانی نمی‌تواند ادعای علمی بودن داشته باشد، مگر این‌که از برهان ریاضی برخوردار باشد (لئوناردو داوینچی)
پاسخ داده شده دوشنبه ۲۱ مرداد ۱۳۹۲ توسط prodo