CodeGym /בלוג Java /Random-HE /כיצד להמיר int לכפול ב-Java
John Squirrels
רָמָה
San Francisco

כיצד להמיר int לכפול ב-Java

פורסם בקבוצה

בקצרה על סוגים מסוג int ו-Double ב-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 לכפול ב-Java באופן אוטומטי, על ידי הקצאת ערך int למשתנה כפול. בוא נביא דוגמה לקוד ל-typecasting:
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 לכפולה באמצעות פעולה מספרית ניטרלית

יתרה מכך, כל הפעולות המספריות על משתנים מסוגים שונים ב-Java מובילות להרחבת סוג. כלומר, תוצאת הפעולה תהיה מסוג רחב יותר. לכן, כדי להמיר מ-int לכפול, אתה יכול להשתמש בפעולה "נייטרלית". לדוגמה, הכפל int ב-1.0 (מספר כפול) או הוסף 0.0 ל-int. הנה דוגמה לטייפcasting שכזה:
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
אגב, אתה יכול להמיר לכפול לא רק ל-int, אלא לכל הטיפוסים הפרימיטיביים המספריים. להלן סדר ההמרה האפשרי מהקטן לגדול ביותר:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION