CodeGym /مدونة جافا /Random-AR /جافا الكلمة الأساسية المزدوجة
John Squirrels
مستوى
San Francisco

جافا الكلمة الأساسية المزدوجة

نشرت في المجموعة
تشير الكلمة الأساسية المزدوجة Java ، كما هو الحال في أي لغة أخرى، إلى تنسيق كمبيوتر لتمثيل رقم الفاصلة العائمة، الذي يشغل 64 بت، أو 8 بايت، في الذاكرة. في هذه المقالة سنتحدث عن المضاعفة ونلقي نظرة على بعض الأمثلة.

النقطة العائمة والحوسبة: وصف رياضي قصير

الأرقام الكسرية هي إما نقطة ثابتة أو عائمة. يمكن تمثيل الخيار الأول ككسر عادي، حيث يكون البسط (الرقم نفسه) والمقام (عامل القياس الخاص به) أعدادًا صحيحة. على سبيل المثال، الرقم 2.7 هو 27 بمعامل قياس 10، 3.14 - 314 بمعامل 100. ومع ذلك، فإن هذا النهج ليس دقيقًا جدًا من وجهة نظر حسابية، لذلك غالبًا ما يستخدمون تمثيل الفاصلة العائمة. في الحوسبة، حساب الفاصلة العائمة هو تمثيل حسابي خاص للأرقام الحقيقية كتقريب لدعم المفاضلة بين النطاق والدقة. التنسيق الرئيسي لتمثيل أرقام الفاصلة العائمة في Java يسمى float. اسمها يأتي من النقطة العائمة. التعويم هو 32 بت، منها 1 بت موقعة، 8 بت للأس و 23 بت للدلالة. نطاقه هو ±3.40282347E + 38F، أي 6-7 أرقام مهمة. الاسم مزدوج يأتي من تعويم مزدوج. النوع المزدوج أكبر بمرتين من الحجم العائم : 8 بايت مقابل 4. ويسمى أيضًا رقمًا حقيقيًا مزدوج الدقة. من بين 64 بتة محجوزة لرقم مزدوج، 1 بتة موقعة، 11 بتة للأس و 52 بتة للدلالة. يقوم كسر Java المزدوج بتخزين الأرقام في النطاق ±1.79769313486231570E + 308، أي 15-16 رقمًا مهمًا. Double هو تنسيق أكثر دقة. لذا، إذا كنت بحاجة إلى تخزين أعداد كبيرة حقًا، فإن تفضيل المضاعفة على التعويم يعد فكرة جيدة. بالمناسبة، الطرق الرياضية مثل sqrt أو sin أو cos وغيرها الكثير تُرجع قيمًا مزدوجة. ومع ذلك، يجب أن تدفع ثمن الدقة المزدوجة مع الذاكرة.

إنشاء متغير مزدوج

يستخدم النوع المزدوج لتخزين الأعداد الحقيقية. لإنشاء متغير في الكود يمكنه تخزين أرقام حقيقية، تحتاج إلى استخدام الأمر:
double name;
حيث name هو اسم المتغير .
double myPrice;  //here we create a variable called myPrice
double action; //and here -- action.
يمكنك أيضًا استخدام الاختصار لإنشاء متغيرات متعددة من النوع double :
double name1, name2, name3;

أمثلة على الكلمات الرئيسية المزدوجة لجافا

دعونا نعطي بعض الأمثلة على استخدام الكلمة الأساسية المزدوجة Java لإنشاء متغير.
double myPrice = 5.0;
double height = 180;
double x = 7.1, y = 3.0;
هنا في المتغير myPrice لدينا القيمة 5.0، وفي المتغير height — 180، وفي x نضع القيمة 7.1، و3.0 في y .

مضاعفة كعدد صحيح

في Java، يمكن تعيين متغيرات مزدوجة بأرقام حقيقية وأعداد صحيحة. عند تعيين الأعداد الصحيحة، يتم تحويلها ببساطة إلى أرقام حقيقية. على الرغم من احتمال حدوث خسارة طفيفة في الدقة في بعض الأحيان.
double height = 180;
int k = 2;
int i = 5;
double myDouble = k*i;
في الواقع، يخزن متغير الارتفاع الرقم 180.0، ويخزن المتغير myDouble الرقم 10.0.

التفاعل المزدوج والصحيح

بالإضافة إلى ذلك، إذا كان هناك عدد صحيح ورقم حقيقي متضمن في بعض التعبيرات، فسيتم تحويل العدد الصحيح أولاً إلى رقم حقيقي وبعد ذلك فقط يتفاعل مع رقم حقيقي آخر.
public class DoubleDemo {
   public static void main(String[] args) {
       int k = 2;
       double myDouble1 = 5;
       double myDouble = k*7.0;
       System.out.println(myDouble1);
       System.out.println(k*myDouble1);
       System.out.println(myDouble);
   }
}
في هذا المثال سيكون الناتج:
5.0 10.0 14.0
على الرغم من أن الرقم myDouble1 يُشار إليه بالرقم 5 وليس 5.0، فإن Java ترى هذا الرقم كرقم مزدوج ، لذلك يبدو في الواقع مثل 5.0. إذا ضربنا int و double، فسنحصل دائمًا على double ، حتى لو كان هذا الرقم عددًا صحيحًا. يمكننا تعيين متغيرات من النوع double لمتغيرات من النوع int . للقيام بذلك، تحتاج إلى إجراء تحويل نوع صريح. بالطبع، سيتم تجاهل الجزء الكسري، وسيتم اقتطاع الرقم إلى عدد صحيح أصغر.
public class DoubleDemo {
   public static void main(String[] args) {
       double x = 57.789;
       int almostX;
       almostX = (int)x;
       System.out.println(almostX);
   }
}
الإخراج هو:
57
وأخيرا، دعونا نتحدث عن التقسيم. هذا هو الشيء الأكثر إثارة للاهتمام. ربما تكون قد صادفت بالفعل حقيقة أنه إذا قمت بتقسيم عددين صحيحين، فنتيجة للقسمة نحصل على عدد صحيح، حتى لو لم يكنا قابلين للقسمة على بعضهما البعض بالتساوي:
public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7/2;
       System.out.println(myDouble);
   }
}
النتيجه هي:
3.0
وذلك لأن جهاز Java يقوم أولاً بتقسيم عددين صحيحين (ويحصل على 3)، ثم يقوم بتخزين هذه القيمة في متغير من النوع double، ويحصل على 3.0 نتيجة لذلك. للحصول على ليس عددًا صحيحًا، بل القسمة المعتادة، عليك الغش. على سبيل المثال، اكتب أحد الأرقام كرقم حقيقي (ثم يتم تحويل التعبير بالكامل تلقائيًا إلى حقيقي). إذا كنا نعمل مع متغيرات من النوع الصحيح، فيمكن ضربها بـ 1.0. لن يؤدي هذا إلى تغيير القيمة، ولكنه سيغير نوع المتغير من int إلى double .
public class DoubleDemo {
   public static void main(String[] args) {
       double myDouble = 7.0/2;
       int x = 5;
       int y = 2;
       System.out.println(myDouble);
       System.out.println(x*1.0/y);
   }
}
الإخراج هو:
3.5 2.5
تعليقات
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION