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

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

عدد صحیح بزرگ

+1 امتیاز
146 نمایش

برای اعداد صحیح خیلی بزرگ٬ توی کتاب‌ها یه روشی هست که تقسیم و ضرب و جمع رو برای بلاک‌های ۳ رقمی انجام می‌ده. یا روش‌های مشابه دیگه‌ای که هست. سوالم اینه که روشی که نرم‌افزارهای حرفه‌ای ریاضی پیاده می‌کنن تا بتونن مثلاً با اعداد صحیح ۱۰۰۰ رقمی کار کنن چیه؟ اونا هم از همین روش‌ها استفاده می‌کنن یا کد بهتری می‌نویسن؟

در ++C زبانی بسیار کوچک‌تر و پاکیزه‌تر در تلاش برای خروج است. (Bjarne Stroustrup)
پرسیده شده دوشنبه ۲۹ آبان ۱۳۹۱ در C++ توسط برنامه‌نویس  
بازتگ شده پنجشنبه ۲۲ فروردین ۱۳۹۲ توسط admin

1 پاسخ

0 امتیاز
 
بهترین پاسخ

از نظر محاسباتی الگوریتم بهتری از الگوریتم معمولی حساب (ده بر یک) برای جمع در کامپیوتر وجود نداره. البته اون‌جا تفاوتش اینه که مبنا به جای ده دو هست.
بنابراین از نظر الگوریتمی بهترین الگوریتم همونی هست که در کتاب‌ها توسط آرایه‌ای از اعداد پیاده می‌شه.
اما این‌جا از نظر پیاده‌سازی یک ارتقا وجود داره. این که توسط دستورات ماشین، جمع رو در مبنای دو انجام بدیم و از رقم نقلی برای جمع بایت‌های بعدی استفاده کنیم.
همون کاری که در یک ماشین ۳۲ بیتی برای جمع اعداد ۶۴ بیتی انجام می‌شه.
چیزی که هست این تا جایی که می‌دونم برای جمع و تفریق جواب می‌ده. اما در صورتی که بخوایم برای ضرب و توان و ... توسط دستورات ماشین پیاده‌سازی پرسرعتی بنویسیم نمی‌دونم چقدر سخت هست. دست کم می‌دونیم که شدنی هست.

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