1. ν λ³ν(μΊμ€ν , casting)μ΄λ?
π‘ λ³μ λλ μμμ νμ μ λ€λ₯Έ νμ μΌλ‘ λ³ννλ κ²
2. ν λ³ν λ°©λ²
π‘ (νμ ) νΌμ°μ°μ
μ¬κΈ°μ μ¬μ©λλ κ΄νΈ()λ ‘μΊμ€νΈ μ°μ°μ’, ‘νλ³ν μ°μ°μ’λΌκ³ νλ€.
double d = 85.4;
int score = (int)d;
-> int score = (int)85.4;
-> int score = 85;
ν λ³ν μ°μ°μλ νΌ μ°μ°μμ κ°μ μ½μ΄μ μ§μ λ νμ μΌλ‘ ν λ³ννκ³ κ²°κ³Όλ₯Ό λ°ννλ€.
⇒ νΌ μ°μ°μμΈ λ³μ dμ κ°μ λ³νμ§ μλλ€.
κΈ°λ³Ένμμ booleanμ μ μΈν λλ¨Έμ§ νμ λ€μ μλ‘ ν λ³νμ΄ κ°λ₯νλ€.
κΈ°λ³Ένκ³Ό μ°Έμ‘° ν κ°μ ν λ³νμ λΆκ°λ₯νλ€. → 7μ₯μμ μμΈν λ³Ό μμ
μ€μ ν → μ μ νμ ν λ³νμμ μμμ μ΄νμ κ°μ λ²λ¦°λ€.
double d = 3.65;
float f = 3.65f;
System.out.println((int)d); // 3
System.out.println((int)f); // 3
3. μ μ ν κ°μ ν λ³ν
ν° νμ → μμ νμ
ex) int → byte
ν¬κΈ°μ μ°¨μ΄λ§νΌ μλ €λκ°κ² λμ΄ κ° μμ€μ΄ λ°μνλ€.
μμ νμ → ν° νμ
ex) byte → int
μμ: λΉ κ³΅κ°μ 0μΌλ‘ μ±μ
μμ: λΉ κ³΅κ°μ 1μΌλ‘ μ±μ
⇒ ν λ³ν νμλ λΆνΈλ₯Ό μ μ§νκΈ° μν¨μ΄λ€.
4. μ€μ ν κ°μ ν λ³ν
μμ νμ → ν° νμ
ex) float → double
μ§μ(E): floatμ κΈ°μ μΈ 127μ λΉΌμ£Όκ³ doubleμ κΈ°μ μΈ 1023μ λνλ€.
κ°μ(M): floatμ κ°μ 23μ리λ₯Ό μ±μ°κ³ λ¨μ μ리λ₯Ό 0μΌλ‘ μ±μ΄λ€.
ν° νμ → μμ νμ
ex) double → float
μ§μ(E): doubleμ κΈ°μ μΈ 1023μ λΉΌμ£Όκ³ floatμ κΈ°μ μΈ 127μ λνλ€.
κ°μ(M): doubleμ κ°μ 52μ리 μ€ 23μλ¦¬λ§ μ μ₯λκ³ λλ¨Έμ§λ λ²λ €μ§λ€.
* ν λ³ν μ κ°μμ 24λ²μ§Έ μ리μμ λ°μ¬λ¦Ό λ°μ κ°λ₯
24λ²μ§Έ μ리μ μκ° 1μΈ κ²½μ°, λ°μ¬λ¦Όμ΄ λ°μνμ¬ 23λ²μ§Έ μ리μ κ°μ΄ 1 μ¦κ°νλ€.
floatμ λ²μλ₯Ό λλ κ°μΌλ‘ ν λ³ν
double d = 1.0e100; // floatμ μ΅λκ°λ³΄λ€ ν° κ°(1.0 * 10^100)
float f = (float)d; // fλ 무νλ
double d = 1.0e-50; // floatμ μ΅μκ°λ³΄λ€ μμ κ°(1.0 * 10^-50)
float f = (float)d; // fλ 0
μμΈν μμ
float f = 9.1234567f;
double d = 9.1234567;
double d2 = (double)f;
System.out.printf("f =%20.18f\n", f); // f =9.123456954956055000
System.out.printf("d =%20.18f\n", d); // d =9.123456700000000000
System.out.printf("d2=%20.18f\n", d2); // d2=9.123456954956055000
1. float f = 9.1234567 f;
2. double d = 9.1234567;
3. double d2 = (double) f;
μ μ₯ν λ μ΄λ―Έ κ°μ΄ λ¬λΌμ‘κΈ° λλ¬Έμ. ν λ³νμ ν΄λ κ°μ΄ κ°μμ§μ§ μλλ€.
5. μ μ νκ³Ό μ€μ ν κ°μ ν λ³ν
μ μμ μ€μμ μ μ₯ λ°©μ λΉκ΅
μ μ νμ μ€μ νμΌλ‘ λ³ν
μ μλ₯Ό 2μ§μλ‘ λ³νν λ€μ μ κ·νν΄μ μ€μμ μ μ₯ λ°©μμ λ§κ² μ μ₯
+) μ λ°λλ‘ μΈν μ€μ°¨ λ°μ
intλ μ΅λ 10μ리μ μ λ°λ μꡬ
μ½ 7μ리μ μ λ°λλ₯Ό μ 곡νλ floatμ μ΄λ₯Ό μ μ₯νκ² λλ©΄ μ€μ°¨κ° λ°μνλ€.
ex) 91234567μ floatνμΌλ‘ ν λ³ννλ©΄ 9123458.0μ΄ λλ€.
⇒ 10μ§μλ‘ 8μ리 μ΄μμ κ°μ μ€μ νμΌλ‘ λ³νν λλ floatμ΄ μλ doubleλ‘ ν λ³νμ ν΄μΌ νλ€.
μ€μ νμ μ μ νμΌλ‘ λ³ν
μ€μ νμ μμμ μ΄ν κ°μ λ²λ¦°λ€.
μ€μμ μμμ μ λ²λ¦¬κ³ λ¨μ μ μκ° μ μ νμ μ μ₯ λ²μλ₯Ό λμΌλ©΄ μ€λ²νλ‘μ° λ°μ
6. μλ ν λ³ν
μλ ν λ³νμ κ·μΉ
μ»΄νμΌλ¬μ νμ μΌμΉ νλ¨ κΈ°μ€
π‘ κΈ°μ‘΄μ κ°μ μ΅λν 보쑴ν μ μλ νμ μΌλ‘ μλ ν λ³ννλ€.
→ μ΄ λ°©ν₯μΌλ‘λ§ μλ ν λ³ν κ°λ₯
νν λ²μκ° μ’μ νμ → λμ νμ μΌλ‘μ ν λ³νμ κ° μμ€μ΄ μμΌλ―λ‘ λ νμ μ€μμ νν λ²μκ° λ λμ μͺ½μΌλ‘ ν λ³νλλ€.
μ¬κΈ°μ λͺ κ°μ§ κΆκΈμ¦μ΄ μκΈ΄λ€.
β floatμ `4byte`, longμ `8byte`λ‘ longμ μλ£νμ ν¬κΈ°κ° ν¬μ§λ§ long → floatμ λ°©ν₯μ±μ λκ³ μλ€.
μ΄λ ν μ΄μ λλ¬ΈμΌκΉ?
보ν΅μ μλ£ νμ ν¬κΈ°κ° ν° κ²μΌμλ‘ κ°μ νν λ²μκ° ν¬μ§λ§, μ€μ νμ μ μ νκ³Ό νννλ λ°©μμ΄ λ€λ₯΄κΈ° λλ¬Έμ μ€μ νμ΄ μ μ νλ³΄λ€ ν¨μ¬ λ ν° νν λ²μλ₯Ό κ°κΈ° λλ¬Έμ΄λ€.
νμ§λ§ μ μ ν→μ€μ νμΌλ‘ ν λ³ννλ κ²½μ°, μ λ°λμ νκ³λ‘ μΈν μ€μ°¨ λ°μ κ°λ₯μ±μ΄ μ‘΄μ¬νλ€.
β shortμ charμ `2byte`λ‘ μλ£νμ ν¬κΈ°κ° κ°μλ° μ νμ΄νκ° μλκ°?
charμ shortμ ν¬κΈ°κ° κ°μ§λ§, charμ λ²μλ 0~2^16-1(0~65535)μ΄κ³
shortμ λ²μλ -2^15~2^15-1(-32768γ32767)μ΄λ―λ‘ μλ‘ λ²μκ° λ¬λΌμ
λ μ€ μ΄λ μͺ½μΌλ‘μ ν λ³νλ κ° μμ€μ΄ λ°μν μ μμΌλ―λ‘ μλ ν λ³νμ΄ μνλ μ μλ€.
μ΅μ’ μ 리
- booleanμ μ μΈν λλ¨Έμ§ 7κ°μ κΈ°λ³Έ νμ μλ‘ ν λ³νμ΄ κ°λ₯νλ€.
- κΈ°λ³Έ νκ³Ό μ°Έμ‘° νμ μλ‘ ν λ³νν μ μλ€.
- μλ‘ λ€λ₯Έ νμ μ λ³μ κ°μ μ°μ°μ ν λ³νμ νλ κ²μ΄ μμΉμ΄μ§λ§, κ°μ λ²μκ° μμ νμ → ν° νμ μ ν λ³νμ μλ΅ν μ μλ€.
Reference
μλ°μ μ μ - λ¨κΆ μ±
'π Book > μλ°μ μ μ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
3-2μ₯ λ¨ν μ°μ°μ (0) | 2023.03.14 |
---|---|
3-1μ₯ μ°μ°μ (1) | 2023.03.14 |
2-4μ₯ κΈ°λ³Έν (0) | 2023.03.09 |
2-3μ₯ μ§λ² (1) | 2023.03.09 |
2-2μ₯ λ³μμ νμ (0) | 2023.03.07 |
λκΈ