باختصار حول الأنواع int والأنواع المزدوجة في Java
int هو نوع Java بدائي للأرقام الصحيحة (مثل -25، 0، 1828182845). يستخدم هذا النوع 32 بت لتخزين قيمة متغيرة. نطاق الأرقام int هو من -231 إلى 231 - 1 أو، وهو نفسه، من -2147483648 إلى 2147483647. يمثل النوع المزدوج في Java أرقام الفاصلة العائمة، ويخصص 64 بت في الذاكرة ونطاق النوع هو -1.7 *10308 إلى 1.7*10308. إذا قمت بتمثيل نطاق int بنفس النموذج، فسيكون -2*109 إلى +2*109. أعتقد أنه من الواضح أن أي عدد من النوع int سوف يتناسب مع الذاكرة المخصصة لعدد من النوع البدائي المزدوج. بالإضافة إلى ذلك، يمكن تمثيل أي عدد صحيح كرقم كسري بجزء كسري صفر. من وجهة نظر الرياضيات ليس هناك شك في ذلك: 5 = 5.0 أو -57.0 = -57.تحويل int إلى مزدوج
من منظور Java، تكون الأنواع double وint متوافقة أيضًا. نظرًا لأن تحويل int إلى double يتعلق بتحويل الحجم الأكبر إلى الأصغر، فإن هذا النوع من التحويل يستدعي غلاف النوع الضمني أو توسيعه. يمكنك تحويل int إلى double في Java تلقائيًا، عن طريق تعيين قيمة int لمتغير مزدوج. دعونا نحصل على مثال رمزي للطباعة:public class intToDouble {
public static void main(String[] args) {
int myInt1 = 10;
int myInt2 = 2147483647;
double myDouble1, myDouble2;
System.out.println("my integers are: " + myInt1 + ", " + myInt2);
myDouble1 = myInt1;
myDouble2 = myInt2;
System.out.println("after typecasting/widening to double: " + myDouble1 + ", " + myDouble2);
}
}
هنا هو الإخراج:
الأعداد الصحيحة الخاصة بي هي: 10، 2147483647 بعد الطباعة/التوسيع إلى المضاعفة: 10.0، 2.147483647E9
ملاحظات: E9 هنا يعني 109، ويسمى بالترميز العلمي. لاحظ أيضًا أن الأرقام المزدوجة تُكتب عادةً بنقطة تفصل الجزء الكسري. إذا قمت بإعلان متغير مزدوج ووضع قيمة فيه، فليس من الضروري القيام بذلك، ولكن في الإخراج، سيكون للرقم المزدوج دائمًا جزء كسري، حتى لو كان صفرًا.
التحويل من int إلى double باستخدام العملية العددية المحايدة
علاوة على ذلك، فإن جميع العمليات الرقمية على متغيرات من أنواع مختلفة في جافا تؤدي إلى توسيع النوع. أي أن نتيجة العملية ستكون من نوع أوسع. لذلك، للتحويل من int إلى double، يمكنك استخدام العملية "المحايدة". على سبيل المثال، اضرب int في 1.0 (رقم مزدوج) أو أضف 0.0 إلى int. فيما يلي مثال على هذا النوع من الكتابة:public class intToDouble {
public static void main(String[] args) {
double a = 1; //you can also write 1.0 here. If you print it out it will be 1.0
int b = 5, x = 7;
System.out.println(x + 0.0);
System.out.println(a*b);
}
}
الإخراج هو:
7.0 5.0
بالمناسبة، يمكنك التحويل إلى double ليس فقط int، ولكن أيضًا لجميع الأنواع الرقمية البدائية. فيما يلي ترتيب التحويل المحتمل من الأصغر إلى الأكبر:
بايت -> قصير -> شار -> كثافة العمليات -> طويل -> تعويم -> مزدوج
المزيد من القراءة: |
---|
GO TO FULL VERSION