μ½λ© ν
μ€νΈ λ¬Έμ λ₯Ό νλ€κ° λ‘μ§μ΄ νλ¦°κ² μλλ° μ λΆ 0 κ°μ΄ λμμ λΉν©νλ€κ° μμ£Ό λ°λ³΄κ°μ μ€μλ₯Ό νκΈ°μ κΈλ‘μ λ¨κΈ°λ €κ³ νλ€.
λͺ¨λ λ€ μλ κ°λ
μΌν
μ§λ§, μν곡μ νλ―μ΄ μ°λ μλ£νμ μκ°νμ§ μκ³ , νκ² λμλ€κ° λμ€λ μ€λ₯μ΄λ€.
λ¬Έμ κ° μΌμ΄λ κ³³μ λ°λ‘ ν μΈμ¨μ ꡬνλ λΆλΆμμ μΌμ΄λ¬λ€. κ΄λ ¨ μ½λ©ν μ€νΈ λ¬Έμ λ‘λ λ€μκ³Ό κ°λ€.
https://school.programmers.co.kr/learn/courses/30/lessons/150368
νλ‘κ·Έλλ¨Έμ€
μ½λ μ€μ¬μ κ°λ°μ μ±μ©. μ€ν κΈ°λ°μ ν¬μ§μ λ§€μΉ. νλ‘κ·Έλλ¨Έμ€μ κ°λ°μ λ§μΆ€ν νλ‘νμ λ±λ‘νκ³ , λμ κΈ°μ κΆν©μ΄ μ λ§λ κΈ°μ λ€μ λ§€μΉ λ°μΌμΈμ.
programmers.co.kr
ν μΈμ¨μ μ μ©νμ¬ μ΄κ°μ ꡬνλλ°, μ΄κ°μ΄ λͺ¨λ 0μ΄ λμ¨ κ²μ΄λ€.
ν 30λΆ μ§Έ λκ° νλ¦°μ§ λλ²κΉ νλ€κ° μ¬μν μ€μλ₯Ό ν κ²μ λ°κ²¬νλ€.
40% DC λ κ° → μκ° * (( 100 - 40) / 100);
μκ° * 0.6 μ νκ³ μΆμ΄, (( 100 - 40) / 100) μ΄ κΈ°λκ°μ΄ 0.6μ΄ λμ€κΈΈ λ°λ¬μ§λ§, μ μ΄μ λͺ«μ ꡬνλ / μ°μ°μ΄κΈ° λλ¬Έμ λ΄κ° μνλ 0.6μ μ λλ‘ λμ¬ μκ° μλ€. μ¬μ§μ΄ μλ£ν λ§μ λ int μλ€.
(μ£Όμ
μ κ΅μ‘μ νν΄μΈκ°...π₯²)
κ·ΈλΌ μλ£νλ§ floatλ‘ λ°κΏμ£Όλ©΄ λ κΉ?π€
float result2 = (100 - 40) / 100;
κ·Έκ² λν μλλ€. μ λ΅μ μλ£νλ§ floatλ‘ λ°κΏμ£Όλ©΄ κ²°κ³Όκ° 0 μ κ·Έλ₯ μ€μλ‘ νλ³ν μμΌμ€ λΏμ΄κΈ° λλ¬Έμ΄λ€.
κ²°κ³Ό κ°μ 0.0μ΄ λμ¨λ€.
μμ κ°μ΄ μμ±νλ€λ©΄, integer division in floating-point context λΌλ IDEμ κ²½κ³ λ¬Έκ΅¬λ₯Ό νμΈν μ μλ€.
μ΄ κ²½κ³ λ "μ€μ μ°μ° λ¬Έλ§₯μμ μ μ λλμ
"μ μλ―Ένλ€. μΌλ°μ μΌλ‘ μνμ μΈ κ³μ°μμ, κ΄νΈ μμ μ°μ°μ μννκ³ λμ λλμ
μ μνν λ κ΄νΈλ₯Ό μ¬μ©νλ κ²μ μ°μ° μμλ₯Ό λͺ
ννκ² λνλ΄κΈ° μν κ²μ΄λ€.
"(100 - 40) / 100"μ΄λΌλ ννμμλ λ¨Όμ κ΄νΈ μμ μ°μ°μΈ "100 - 40"μ΄ μνλμ΄ 60μ μ»κ³ , κ·Έ κ²°κ³Όλ₯Ό 100μΌλ‘ λλκ² λλ€. μ΄λ, λλμ
μ°μ°μ μΌλ°μ μΌλ‘ μ€μ μ°μ°μΌλ‘ κ°μ£Όλμ§λ§, "integer division in floating-point context"λΌλ ννμ μ€μ μ°μ° λ¬Έλ§₯μμ μ μ λλμ
μ μλ―Ένλ€.
μ€μ μ°μ° λ¬Έλ§₯μμ μ μ λλμ
μ μ μλ₯Ό μ μλ‘ λλ λ λλ¨Έμ§λ₯Ό 무μνλ κ²μ μλ―Ένλ€. μλ₯Ό λ€μ΄, 60μ 100μΌλ‘ λλ λ μΌλ°μ μΈ λλμ
κ²°κ³Όλ 0.6μ΄μ§λ§, "integer division in floating-point context"μμλ 0.6 λμ μ μ μ κ²°κ³Ό 0μ λ°ννλ€.
κ²°κ³Όμ μΌλ‘ "(100 - 40) / 100"μ κ°μ 0.6μ΄ μλλΌ 0μ΄λ€.
float ν΄λ΄€μ 0.0μ΄ λμ¨λ€.
0.6μ μ»κ³ μΆμΌλ©΄ μ°μ° μ체λ₯Ό μ€μ μ°μ°μΌλ‘ νλ³ν μμΌμ€μΌνλ€.
λ¬Όλ‘ μ λ¬Έμ μμ μ€μ νλ³νν΄μ νμ§ μκ³ , κ·Έλ₯ 100μΌλ‘ λλ λ λͺ«μ΄ λμ€κ²λ ν° μ μ°μ°νκ³ 100μΌλ‘ λλμλ€. μ΄μ λ κ°λ¨νλ€. νλ³νμ νλλ°μ 리μμ€κ° ν¬μλκΈ° λλ¬Έμ΄λ€. κ΅³μ΄ μνκ³ νμλ μλλ°, λλκ² μ°μ°ν νμκ° μκΈ° λλ¬Έμ΄λ€.
public class Note05 {
public static void main(String[] args) {
int result1 = (100 - 40) / 100;
System.out.println(result1);
float result2 = (100 - 40) / 100;
System.out.println(result2);
float result3 = (float) (100 - 40) / 100;
System.out.println(result3);
}
}
λκΈ