السلام عليكم
لدى برنامج يقوم بحساب محدد مصفوفه و هى تكون كبيره جدا 10000 * 10000 مثلا
و فى الخطوه النهائيه يضرب عناصر القطر الرئيسى فى بعض
احيانا تكون النتيجه Infinity !!
قمت بطباعه الأرقام وضربها ك Double فى برنامج اخر و اخرج النتيجه رقم
الأرقام هى :
-2.0 -0.5 6.0 3.0 2.7222223 2.6530612 2.6307693 2.622807 2.6209588 1.6176095 10.695767 3.8200417 3.2358673 3.1223722 3.0931702 3.0843284 3.0775409 3.0452483 1.8415587 2.9774346 3.7893898 3.473134 3.2876225 3.2108266 3.1789274 3.1628785 3.1458268 3.098619 1.9194189 2.6781569 3.267262 3.3160677 3.2676787 3.2279844 3.2031684 3.185488 3.16486 3.1172884 1.955271 2.5862312 3.1411476 3.2434826 3.2431772 3.226338 3.2098799 3.1943622 3.174465 3.129112 1.9755931 2.5491374 3.092404 3.2064135 3.2244806 3.2201734 3.2103574 3.1980858 3.1803036 3.1371813 1.988242 2.5313277 3.0687523 3.18557 3.2113454 3.2138307 3.208651 3.1993616 3.1837645 3.1425219 1.9962323 2.526761 3.0518312 3.1644464 3.1925344 3.1988735 3.197256 3.1908278 3.1774642 3.1378095 2.0019655 1.503651 1.6792104 1.7504289 1.7875993 1.8061647 1.8112304 1.8038733 1.7796926 1.7278873
و النتيجه غالبا صحيحه وهى 1.368991326019356E39
يمكنك التأكد من النتيجه ببرنامج صغيربعد استبدال المسافات بعلامات ضرب بمساعده اى محرر نصوص :
عرف Double و اسند حاصل الضرب اليه ثم اطبعه !
ما الحل غير استخدام ال Double؟
و ما الحل اذا كان الناتج اكبر من الDouble اساسا ؟
هل أقوم ببرمجهClass لحساب عمليات ضرب على BigNumber مكون من عدة Doubles ؟