إنضمامك إلي منتديات استراحات زايد يحقق لك معرفة كل ماهو جديد في عالم الانترنت ...

انضم الينا
استراحات زايد الصفحة الرئيسية


إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #1  
قديم 09-22-2010, 07:41 PM
عضو ماسي
بيانات محروم.كوم
 رقم العضوية : 503
 تاريخ التسجيل : Dec 2007
الجنس : female
علم الدوله :
 المشاركات : 2,100,613
عدد الـنقاط :3341
 تقييم المستوى : 2139

بسم الله الرحمن الرحيم


السلام عليكم ورحمة الله وبركاته

مقدمة :

تتضاعف تكنولوجيا المعلومات يوما بعد يوم بشكل لايدركه عقل وتتطور مشاكل حياتنا اليوميه وتتعقد مع تطور التكنولوجيا المستمر .. وفي المقابل ايضا تتطور وسائل حل هذه المشكلات سواء من المبرمج بنفسه او عن طريق الشركات المصنعه لبيئات التطوير المختلفه .. فالكل يسعى الى توفير كل الامكانيات المطلوبه للتعامل مع المشكلات المتزايده .. وهذا مادعاني اليوم لشرح ميزة وفرتها بيئة عمل الدوت نيت 4 .Net Framework وهي غير متوفره في الاصدارات السابقه واعتقد ان معظمنا لم يتعامل معها من قبل


نبذة عن امكانيات المكتبه :

توفر هذه المكتبه طريقه سهله ومريحه للمبرمج للتعامل مع الارقام ذات الحجم الضخم الذي قد يتعدى ال 1000 رقم في طوله والذي لا يمكن تخزينه في المتغيرات الرقميه مثل ال Double وال Int ولا حتى ال Long

الطريقه الوحيده لتخزين مثل هذه الارقام هو بوضعها في String ولكن كيف ستتعامل معها بعد ذلك
افرض مثلا انك ادرت ان تضرب هذا الرقم في رقم اخر مماثل له في الحجم كيف ستقوم بضرب متغيرين من نوع String !!

فجائت هذه المكتبه لتحل هذه المشكله وتمكنك من التعامل مع هذه الارقام الضخمه وتخزينها بكل سهوله ويسر



كيفية اضافة المكتبه :

توجد هذه المكتبه بداخل فضاء الاسماء Numerics والذي لا يكون مدمجا في المشروع افتراضيا
ولكن عليك اضافته من نافذة Add Reference في فيجوال ستوديو 2010
واختيار

كود:
System.Numerics
كما في الصوره :



بعد اضافة المكتبه فقط قم بكتابة السطر التالي مع مجموعة اسطر الاضافات اعلى نافذة الكود

VB

كود:
Imports System.Numerics
C#

كود:
using System.Numerics;

والان انت مستعد لاستخدام المكتبة BigInteger


البدء في الاستخدام :

لتعريف Object من ال BigInteger قم بكتابة التعريف كما يلي :

VB

كود:
Dim BI as new BigInteger
C#

كود:
BigInteger BI = new BigInteger();

الان قمنا بتعريف متغير من نوع BigInteger لا يحمل اي قيمه

لوضع قيمة ابتدائيه من نوع Int او Double او Decimal او Long فقط قم بوضعها في سطر التعريف كالتالي :

VB

كود:
Dim BI as new BigInteger(12345)
C#

كود:
BigInteger BI = new BigInteger(12345);
ولوضع قيمة من نوع String (حتى يمكننا اضافة ارقام كبيره جدا)

قم باستخدام الطريقه التاليه :

VB

كود:
Dim BI as new BigInteger()
BI = BigInteger.Parse("99999999999999999999999999999999 99");
C#

كود:
BigInteger BI = new BigInteger();
BI = BigInteger.Parse("99999999999999999999999999999999 99");

وبذلك نقوم بتعريف متغير جديد من نوع BigInteger يحتوي على قيمة ابتدائيه معينه


التعامل مع الارقام :

بالتاكيد لم نقم باستخدام المتغير BigInteger لمجرد ان نقوم بتخزين الرقم فال String اولى بهذا المجهود

ولكن تمكنك المكتبه من القيام بعمليات على اهذه الارقام الكبيره جدا

وساشرح بعض العمليات البسيطه

لنفترض اني قمت بتعريف االمتغيرين التاليين ووضعت لهم القيم التاليه كما في الكود

VB

كود:
Dim x,y as new BigInteger
x = BigInteger.Parse("999999999999999")
y = BigInteger.Parse(87657482345423423)
C#

كود:
BigInteger x,y = new BigInteger();
x = BigInteger.Parse("999999999999999");
y = BigInteger.Parse(87657482345423423);


والان لجمع الرقمين :


VB

كود:
Dim Result as new Biginteger
Result = BigInteger.Add(x,y)
C#

كود:
BigInteger Result = new BigInteger();
Result = BigInteger.Add(x,y);


لطرح الرقم الثاني من الاول


VB

كود:
Dim Result as new Biginteger
Result = BigInteger.Subtract(x,y)
C#

كود:
BigInteger Result = new BigInteger();
Result = BigInteger.Subtract(x,y);

لضرب الرقمين :


VB

كود:
Dim Result as new Biginteger
Result = BigInteger.Multiply(x,y)
C#

كود:
BigInteger Result = new BigInteger();
Result = BigInteger.Multiply(x,y);

لقسمة الرقم الاول على الثاني :

VB

كود:
Dim Result as new Biginteger
Result = BigInteger.Divide(x,y)

C#

كود:
BigInteger Result = new BigInteger();
Result = BigInteger.Divide(x,y);

لرفع الرقم الاول لاس الرقم الثاني :


VB

كود:
Dim Result as new Biginteger
Result = BigInteger.Pow(x,y)
C#

كود:
BigInteger Result = new BigInteger();
Result = BigInteger.Pow(x,y);

ويوجد العديد من العمليات الاخرى الي يمكنك القيام بها باستخدام هذه المكتبه مثل ال Min وال Max وال Log و......

فقط قم بالاطلاع على المكتبه ومحاولة الابحار فيها


وهذا مثال لناتج ضرب رقيمين كبيرين جدا قمت باستخدام المكتبه لايجاد ناتج ضربهما

الرقم الاول : 43245724572845342875287452452367254273845238147654 72385482753

الرقم الثاني : 43264214897820497654528742142354489723040246230472 8472364708

الناتج : {1870992321331537460482499806539203961135392591409 60017520953438806357485910610805030547526056132869 9559726206808059881124}


لمزيد من المعلومات عن المكتبه قم بمراجعة المرجع الرئيسي :

http://msdn.microsoft.com/en-us/libr...iginteger.aspx

وفي حالة وجود اي استفسارات الرجاء عدم التردد في طرحها

مع تمنياتي بالتوفيق للجميع ...
__DEFINE_LIKE_SHARE__
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة



الساعة الآن 07:52 AM


Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir

RSS RSS 2.0 XML MAP HTML