μ΅κ·Όμ μλ°(JAVA)λ₯Ό λ°°μ°κ³ μμ΅λλ€.
κΈ°κ³κ³Όλ₯Ό μ 곡νκ³ λ°λ체 μ°μ μμ μΌνμκΈ° λλ¬ΈμΈμ§ κΈ°λ³Έ CSμ§μμ λν΄μ λ°°μΈ λ, νλμ¨μ΄μ κ΄λ ¨λ λΆλΆμ΄ μλΉν ν₯λ―Έλ‘μ μ΅λλ€.
νλμ¨μ΄λ³΄λ€ μννΈμ¨μ΄κ° νκ³ μΆμ΄μ λμ΄μλλ° μννΈμ¨μ΄λ₯Ό λ°°μ°λ©΄μ νλμ¨μ΄μ κ΄μ¬μ΄ κ°λ μ¬λ³΄λ...
βΆ λ°μ΄ν° νμ κ³Ό λ©λͺ¨λ¦¬
λλΆλΆ λΉμ·νκ² μ§λ§ μλ°μμ μ«μ λ°μ΄ν° νμ μ μ μμ μ€μλ‘ λλλλ° λ°μ΄ν° νμ (λ©λͺ¨λ¦¬μ μ μ₯λλ ν¬κΈ°)μΌλ‘ νννμλ©΄ μλμ κ°μ΅λλ€.
μ μ νμ : byte(1 byte), char(2 byte), short(2 byte), int(4 byte), long(8 byte)
μ€μ νμ : float(4 byte), double(8 byte)
μλ―Έλ₯Ό μμλ³Ό λ, μ μλ‘ λΉκ΅νλ©΄ μ΄ν΄νκΈ°κ° μ½μ΅λλ€.
λ¨Όμ λ©λͺ¨λ¦¬μ μ μ₯λλ ν¬κΈ°μ λ¨μμΈ 1byte = 8bit (λ©λͺ¨λ¦¬μ μ΅μ λ¨μ)
μ°λ¦¬κ° νν μ»΄ν¨ν°λ 0κ³Ό 1λ‘ μ΄λ£¨μ΄μ§λ€λΌκ³ λ§νλλ° μ νν λ§νλ©΄ μ»΄ν¨ν°μ λμμ μλΉμμ νΈλμ§μ€ν°μ λμμ μ‘°ν©μ΄κΈ° λλ¬Έμ λλ€.
κ°λ¨νκ² νλμ μ€μμΉλ on(1) / off(0) 2κ°μ§ λμμ νλλ° μ»΄ν¨ν°λ μ΄ μ€μμΉλ€μ μ‘°ν©μΌλ‘ λμμ νκΈ° λλ¬Έμ λλ€.
νν μ°λ¦¬κ° μλ λͺ¨μ€λΆνΈμ κ°μ΅λλ€. μ κ³Ό μ μΌλ‘ μ΄λ£¨μ΄μ§ λͺ¨μ€λΆνΈλ₯Ό μ‘°ν©ν΄μ λ€μν λ¨μ΄λ₯Ό λ§λ€μ΄μ λ¬Έμ₯μ μ μ‘νλ κ²κ³Ό κ°μ΅λλ€.
λ€μ λμμμ λ°μ΄ν° νμ μ μΌλ§λ§νΌμ μ«μλ₯Ό ννν μ μμκΉ?
λ¨Όμ κ°λ¨ν μ μν νμ μΈ byte (1byte)λ₯Ό νμΈν΄ λ³΄κ² μ΅λλ€.
byte νμ μ ν¬κΈ°μΈ 1byteλ bitλ‘ νννλ©΄ 8bitκ° λ©λλ€.(1byte = 8 bit) μμμ 1bitλ 0κ³Ό 1μ νννλ 2κ°μ§ λμμν μ μλ€κ³ νμ£ κ·Έλ κΈ°μ 1bitλ 2^1κ°μ μ«μλ₯Ό ννν μ μμ΅λλ€.
2bitλ λͺ κ°μ μ«μλ₯Ό ννν μ μμκΉμ? 0κ³Ό 1μ΄ λ λ² 2x2 = 2^2 κ°λ₯Ό ννν μ μμ΅λλ€.
00 | 01 | 10 | 11 |
μ¦, byte νμ μ λ°μ΄ν°λ 8bit => 2^8 = 256κ°μ μ«μλ₯Ό ννν μ μμ΅λλ€.
0000 0000 | 0000 0001 | 0000 0010 | ... | 1111 11101 | 1111 1110 | 1111 1111 |
byte : -128 ~ 127κΉμ§ νν(μμλ₯Ό ν¬ν¨ν΄μ 256κ°)
(byteλ signed νμ μ¦, μμμ μμλ₯Ό λͺ¨λ κ°λ νμ)
λ΄κ° JAVAμμ byte νμ λ³μμ κ°μ ν λΉν λ -128 ~ 127κΉμ§λ μ€λ₯ μμ΄ μ μ₯ν μ μλ€λ μλ―Έμ λλ€.
κ·ΈλΌ μ°λ¦¬κ° λ³΄ν΅ κ°μ₯ λ§μ΄ μ¬μ©νλ intλ 32bit => 2^32 = μ½ ±2μ΅ 1μ² μ λλ‘ μλΉν ν° μκΉμ§ 무리 μμ΄ μ μ₯ κ°λ₯νλ€λ μλ―Έμ λλ€.
βΆ λ°μ΄ν° νμ μ λλλ μ΄μ ?
intμ λ°μ΄ν°κ° λ§λ€λ©΄ κ΅³μ΄ λ°μ΄ν° νμ μ λλνμκ° μμκΉ? κ·Έλ₯ intλ λ ν° κ²μΌλ‘ μ¬μ©νλ©΄ λ ν λ°?λΌλ μλ¬Έμ΄ λ€ μλ μλλ° μ¬μ€ λ°λμ²΄κ° λ§μ΄ λ°μ ν μ§κΈμ λ§μ΄ λμ¨ν΄μ‘μμ§ λͺ¨λ₯΄μ§λ§, μ°μ κΈ°κ³μ ν¬ν¨λμ΄μλ λ©λͺ¨λ¦¬λ κ·Έ ν¬κΈ°κ° μμ£Ό μμμ λ΄μ₯λ μννΈμ¨μ΄λ₯Ό μ΅λν ν¨μ¨μ μΌλ‘ λ§λ€μ΄μΌ νλ λΆλΆμ΄ μμ΅λλ€.
μ¦, λ©λͺ¨λ¦¬λ μλμλ‘ μ’λ€. μ©λ μ€μΌ μ μμΌλ©΄ μ’μΌλκΉ...
βΆ μλ°μμμ νλ³ν
μ¬μ€ κ°μΈμ μΌλ‘ μ΄ λΆλΆμ΄ μλΉν μ¬λ―Έμμμ΅λλ€.
λ³μλ₯Ό μ μΈνμ λΉμμ μ μνλ λ°μ΄ν° νμ μ μ€κ°μ "ν λ³ν"μ΄λΌλ ν΄μ μ΄μ©ν΄μ λ³νμν¬ μ μμμ΅λλ€.
ex): byte λ°μ΄ν° νμ μΌλ‘ μ μΈν λ³μ aμ λ²μ£Όλ₯Ό λ²μ΄λλ κ°μ κ°μ νλ³ν
>>> byte a;
>>> a = (int) 500;
μ΅λ 127κΉμ§μ μ«μλ§ λ΄μ μ μμλ byte λ³μκ° κ°μ ν λ³νμ ν΅ν΄μ 500 κ°μ κ°μ§κ² λμμ΅λλ€?
μ¬μ€ μΆλ ₯νμ λ μλ±ν κ°μ΄ λμ€κ² λ©λλ€.
500μ byte λ°μ΄ν° νμμ νν λ²μλ₯Ό λ²μ΄λλ κ°μ΄κΈ° λλ¬Έμ λ ν° λ°μ΄ν° νμ μ κ°μ ΈμΌ ν©λλ€.
μμ νμ ν° κ° ν λΉν λ μ€λ₯κ° λ°μνλ κ²μ λλ€.
κ·ΈλΌ λ°λμ κ²½μ°λ?
byte -> intμ²λΌ μμ κ°μ ν° λ°μ΄ν° νμ νμμ νμ λ΄λ κ²μ μ€λ₯ μμ΄ μ§νλ©λλ€.
βΆ μ μ -> μ€μ
μ€μ μΈμμμ μ¬μ©λλ κ°μ μ μλ³΄λ€ μ€μκ° λ λ§μ λΉμ€μ μ°¨μ§νκ² λ κ²μ λλ€.
κ·Έλμ μ°λ¦¬λ κ°λ¨νκ² μ μλ₯Ό μ λ ₯λ°κ³ μ€μλ‘ λ°νν΄μΌ ν λκ° λ§μ ν λ° μ΄λλ ν λ³νμ μ¬μ©μ΄ λ κ² κ°μ΅λλ€.
>>> int height = 180;
>>> int weigth = 75;
>>> float rate = (float) height / weight;
μ¬κΈ°μ int (8 byte) -> float (4 byte)μ ν λ³νμ΄ μ΄λ€μ§λλ€.
μ μλ§ λ΄€μ λ, λ ν° λ°μ΄ν° νμμ΄ μμ λ°μ΄ν° νμμΌλ‘ ν λ³νμ΄ μ΄λ€μ§λ κ²μ΄ μλͺ»λ κ²μ²λΌ λ³΄μΌ μ μμΌλ,
μ€μ λ‘ λ°μ΄ν° νμ μ λ©λͺ¨λ¦¬λ₯Ό μ°¨μ§νλ ν¬κΈ°κ° μλ μ«μλ₯Ό νννλ λ²μκ° μ€μν©λλ€.
floatμ΄ intλ³΄λ€ λ λ§μ μ«μλ₯Ό ννν μ μλ λμ λ²μλ₯Ό κ°μ§κ³ μκΈ° λλ¬Έμ νλ³νμ΄ κ°λ₯ν κ²μ λλ€.
μ€μμ λ²μμ λν λΆλΆμ μ°¨ν μΆκ°νκ² μ΅λλ€.
νμμ λ³μλ₯Ό ν λΉν λ, λ°μ΄ν°μ λ©λͺ¨λ¦¬μ λν μκ°μ νλ©΄μ μ‘°κΈ λ ν¨μ¨μ μΈ λ°©λ²μ μ°Ύμκ°μΌ λ λ―ν©λλ€.
μλͺ»λ λΆλΆμ΄ μμΌλ©΄ νΌλλ°± μ£Όμλ©΄ κ°μ¬ν©λλ€.
'Programming > Java, Kotlin' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
<ν μ΄ νλ‘μ νΈ νκ³ λ‘> μλ° μ€μ(Java Swing)μ μ΄μ©ν GUI νλ‘κ·Έλ¨(ft. DBeaver) (0) | 2021.12.29 |
---|---|
μλ°[Java] μ μΆλ ₯ Stream μ΄ν΄νκΈ° (0) | 2021.12.29 |
μλ°[Java] μΈν°νμ΄μ€[Interface] μ¬μ©κ³Ό μ΄μ (1) | 2021.12.29 |
μλ°[Java] μ κ·Ό μ μ΄μ[Access modifier] (0) | 2021.12.29 |
μλ°(Java) μ¬μ©μ μ /μΆλ ₯κ³Ό λ²νΌ(butter) (0) | 2021.12.29 |