![]() |
|
الأعداد الضخمة BigInteger في سي شارب (جديد دوت نت 4) - نسخة قابلة للطباعة +- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb) +-- قسم : قسم لغة السي شارب C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=175) +--- قسم : قسم مقالات C#.NET (http://vb4arb.com/vb/forumdisplay.php?fid=177) +--- الموضوع : الأعداد الضخمة BigInteger في سي شارب (جديد دوت نت 4) (/showthread.php?tid=5528) |
الأعداد الضخمة BigInteger في سي شارب (جديد دوت نت 4) - RaggiTech - 11-10-12 كاتب الموضوع : عبد العظيم بخاري
احد اعظم المميزات الجديدة التي اضافتها مايكروسوفت في لغة C# 4 هو كلاس BigInteger العالي الدقة الرقمية والموجود في System.Numerics .يسمح لك هذا الكلاس بتخزين رقم كبير جداً (اعلى من 32^2 و 64^2) اضافة لسهولة التعامل مع هذه الأرقام واجراء العمليات عليها. يمكنك مثلا تخزين رقم ضخم مثل 25! والذي يساوي تقريباً 15511210043330985984000000 (1.5 x 10^25)
في الواقع قد لا نستخدم هذا الكلاس كثيرأ (باستثناء بعض الامور العلمية والحسابية ) وذلك بسبب عدم حاجتنا لهذه الدقة الكبيرة..لكن الإستخدام الاجمل والأروع هو اثناء عمليات التشفير وانتاج مفاتيح private و public فيمكنك بسهولة التعامل معها .. قد يخطر في بالك أن تسأل نفسك كيف استطاعت مايكروسوفت أن تعمل implement لكلاس BigInterger ؟ بنظرة سريعة للReflector سوف تجد أن الأرقام تخزن في array من الbits مما يعطيها قابلية توسع كبيرة دون الحاجة للكثير من مساحة التخزين . لكن وكما لكل شيئ في هذا الحالم حد معين فسوق تحصل على OutOfMemoryException في حال لم يكن بالامكان تخزين الرقم في الذاكرة . كود : BigInteger LargeNum = new BigInteger("63478363457345834575434434634753854678");http://msdn.microsoft.com/en-us/libr...iginteger.aspx عبد العظيم بخاري http://www.el-bukhari.com/2010/10/biginteger-4.html |