CodeGym /จาวาบล็อก /สุ่ม /วิธีแปลง int เป็นสองเท่าใน Java
John Squirrels
ระดับ
San Francisco

วิธีแปลง int เป็นสองเท่าใน Java

เผยแพร่ในกลุ่ม

สั้น ๆ เกี่ยวกับ int และ double types ใน Java

intเป็นประเภท Java ดั้งเดิมสำหรับจำนวนเต็ม (เช่น -25, 0, 1828182845) ประเภทนี้ใช้ 32 บิตในการจัดเก็บค่าตัวแปร ช่วงของตัวเลข int อยู่ระหว่าง -231 ถึง 231 - 1 หรือเท่ากันตั้งแต่ -2147483648 ถึง 2147483647 Double type ใน Java แสดงถึงตัวเลขทศนิยม จัดสรร 64 บิตในหน่วยความจำ และช่วงของประเภทคือ -1.7 *10308 ถึง 1.7*10308. หากคุณแสดงช่วงของ int ในรูปแบบเดียวกัน ค่าดังกล่าวจะเป็น -2*109 до +2*109 ฉันคิดว่ามันชัดเจนว่า int ประเภทใด ๆ จะพอดีกับหน่วยความจำที่จัดสรรสำหรับประเภทดั้งเดิมสองเท่าจำนวนหนึ่ง นอกจากนี้ จำนวนเต็มใดๆ สามารถแสดงเป็นตัวเลขเศษส่วนที่มีเศษส่วนเป็นศูนย์ จากมุมมองทางคณิตศาสตร์ ไม่ต้องสงสัยเลยว่า: 5 = 5.0 or -57.0 = -57

แปลง int เป็นสองเท่า

จากมุมมองของ Java ประเภท double และ int ยังเข้ากันได้ เนื่องจากการแปลง int เป็นสองเท่านั้นเกี่ยวกับการแปลงให้ใหญ่ขึ้นเป็นเล็กลง การแปลงประเภทนี้จึงเรียกการปิดหรือขยายประเภทโดยนัย คุณสามารถแปลง 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 เรียกว่าสัญกรณ์วิทยาศาสตร์ โปรดทราบว่าโดยปกติแล้วตัวเลขคู่จะเขียนด้วยจุดคั่นส่วนที่เป็นเศษส่วน หากคุณประกาศตัวแปร double และใส่ค่าลงไป คุณไม่จำเป็นต้องทำเช่นนี้ แต่ในเอาต์พุต ตัวเลขคู่จะมีส่วนที่เป็นเศษส่วนเสมอ แม้ว่าจะเป็นศูนย์ก็ตาม

การแปลง int เป็นสองเท่าโดยใช้การดำเนินการเชิงตัวเลขที่เป็นกลาง

นอกจากนี้ การดำเนินการตัวเลขทั้งหมดบนตัวแปรประเภทต่างๆ ใน ​​Java นำไปสู่การขยายประเภท นั่นคือผลลัพธ์ของการดำเนินการจะเป็นประเภทที่กว้างขึ้น ดังนั้น หากต้องการแปลงจาก 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
ยังไงก็ตาม คุณสามารถแปลงเป็นสองเท่าได้ ไม่เพียงแต่ int แต่ยังรวมถึงประเภทดั้งเดิมที่เป็นตัวเลขทั้งหมดด้วย นี่คือลำดับของการแปลงที่เป็นไปได้จากน้อยไปมาก:
Byte -> Short -> Char -> Int -> Long -> Float -> Double
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION