Java์ int ๋ฐ double ์ ํ์ ๋ํ ๊ฐ๋ตํ ์ค๋ช
int ๋ ์ ์(์: -25, 0, 1828182845)์ ๋ํ ๊ธฐ๋ณธ Java ์ ํ์ ๋๋ค. ์ด ์ ํ์ 32๋นํธ๋ฅผ ์ฌ์ฉํ์ฌ ๋ณ์ ๊ฐ์ ์ ์ฅํฉ๋๋ค. int ์ซ์์ ๋ฒ์๋ -231์์ 231 - 1๊น์ง ๋๋ -2147483648์์ 2147483647๊น์ง ๋์ผํฉ๋๋ค. Java์ Double ์ ํ์ ๋ถ๋ ์์์ ์ซ์๋ฅผ ๋ํ๋ด๋ฉฐ ๋ฉ๋ชจ๋ฆฌ์ 64๋นํธ๋ฅผ ํ ๋นํ๋ฉฐ ์ ํ์ ๋ฒ์๋ -1.7์ ๋๋ค. *10308์์ 1.7*10308. int์ ๋ฒ์๋ฅผ ๊ฐ์ ํํ๋ก ํํํ๋ฉด -2*109 ะดะพ +2*109๊ฐ ๋ฉ๋๋ค. int ์ ํ์ด ์ฌ๋ฌ double primitive ์ ํ์ ๋ํด ํ ๋น๋ ๋ฉ๋ชจ๋ฆฌ์ ๋ง์ ๊ฒ์ด๋ผ๋ ๊ฒ์ ๋ช ๋ฐฑํ๋ค๊ณ ์๊ฐํฉ๋๋ค. ๋ํ ๋ชจ๋ ์ ์๋ ์์ ๋ถ๋ถ์ด 0์ธ ์์๋ก ๋ํ๋ผ ์ ์์ต๋๋ค. ์ํ์ ์ธ ๊ด์ ์์ ๋ณผ ๋ ์์ฌ์ ์ฌ์ง๊ฐ ์์ต๋๋ค. 5 = 5.0 ์ด๋ -57.0 = -57.๋๋ธ๋ก ๋ณํ
Java ๊ด์ ์์ double ๋ฐ int ์ ํ๋ ํธํ๋ฉ๋๋ค. int๋ฅผ double๋ก ๋ณํํ๋ ๊ฒ์ ๋ ํฐ ๊ฐ์ ๋ ์์ ๊ฐ์ผ๋ก ์บ์คํ ํ๋ ๊ฒ์ด๋ฏ๋ก ์ด๋ฌํ ์ข ๋ฅ์ ๋ณํ์ ์์์ ์ ํ ์ผ์ด์ฑ ๋๋ ํ์ฅ์ ํธ์ถํฉ๋๋ค. int ๊ฐ์ double ๋ณ์์ ํ ๋นํ์ฌ Java์์ ์๋์ผ๋ก int๋ฅผ double๋ก ๋ณํํ ์ ์์ต๋๋ค. 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 typecasting/double๋ก ํ์ฅ ํ: 10.0, 2.147483647E9
์ฐธ๊ณ : ์ฌ๊ธฐ์ E9๋ 109๋ฅผ ์๋ฏธํ๋ฉฐ ๊ณผํ ํ๊ธฐ๋ฒ์ด๋ผ๊ณ ํฉ๋๋ค. ์ด์ค ์ซ์๋ ์ผ๋ฐ์ ์ผ๋ก ์์ ๋ถ๋ถ์ ๊ตฌ๋ถํ๋ ๋ง์นจํ๋ก ์์ฑ๋ฉ๋๋ค. double ๋ณ์๋ฅผ ์ ์ธํ๊ณ ๊ทธ ์์ ๊ฐ์ ๋ฃ์ผ๋ฉด ์ด๋ ๊ฒ ํ ํ์๊ฐ ์์ง๋ง ์ถ๋ ฅ์์ โโdouble ์ซ์๋ 0์ด๋๋ผ๋ ํญ์ ์์ ๋ถ๋ถ์ ๊ฐ์ต๋๋ค.
์ค๋ฆฝ ์์น ์ฐ์ฐ์ ์ฌ์ฉํ์ฌ double๋ก ๋ณํ
๋ํ Java์์ ๋ค๋ฅธ ์ ํ์ ๋ณ์์ ๋ํ ๋ชจ๋ ์ซ์ ์ฐ์ฐ์ ์ ํ ํ์ฅ์ผ๋ก ์ด์ด์ง๋๋ค. ์ฆ, ์์ ๊ฒฐ๊ณผ๋ ๋ ๋์ ์ ํ์ด ๋ฉ๋๋ค. ๋ฐ๋ผ์ int์์ double๋ก ๋ณํํ๋ ค๋ฉด "์ค๋ฆฝ" ์ฐ์ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด int์ 1.0(์ด์ค ์ซ์)์ ๊ณฑํ๊ฑฐ๋ int์ 0.0์ ๋ํฉ๋๋ค. ๋ค์์ ์ด๋ฌํ ์ ํ ๋ณํ์ ์์ ๋๋ค.
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๋ฟ๋ง ์๋๋ผ ๋ชจ๋ ์ซ์ ๊ธฐ๋ณธ ์ ํ์ double๋ก ๋ณํํ ์ ์์ต๋๋ค. ๊ฐ์ฅ ์์ ๊ฒ์์ ๊ฐ์ฅ ํฐ ๊ฒ์ผ๋ก ๊ฐ๋ฅํ ๋ณํ ์์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ฐ์ดํธ -> Short -> Char -> Int -> Long -> Float -> Double
๋ ์ฝ์ด๋ณด๊ธฐ: |
---|
GO TO FULL VERSION