λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ“— Book/μžλ°”μ˜ 정석

3-1μž₯ μ—°μ‚°μž

by hyeon-z 2023. 3. 14.

 

1. μ—°μ‚°μžμ™€ ν”Όμ—°μ‚°μž

μ—°μ‚°μž: 연산을 μˆ˜ν–‰ν•˜λŠ” 기호 (ex. +, -, * )

ν”Όμ—°μ‚°μž: μ—°μ‚°μžμ˜ μž‘μ—… λŒ€μƒ (ex. λ³€μˆ˜, μƒμˆ˜, λ¦¬ν„°λŸ΄, μˆ˜μ‹)

μ—°μ‚°μžλŠ” ν”Όμ—°μ‚°μžλ‘œ 연산을 μˆ˜ν–‰ν•˜κ³  λ‚˜λ©΄ 항상 결괏값을 λ°˜ν™˜ν•œλ‹€.

 

2. 식과 λŒ€μž… μ—°μ‚°μž

식: μ—°μ‚°μžμ™€ ν”Όμ—°μ‚°μžλ₯Ό μ‘°ν•©ν•˜μ—¬ κ³„μ‚°ν•˜κ³ μžν•˜λŠ” λ°”λ₯Ό ν‘œν˜„ν•œ 것

ex) 4 * x + 3

 

ν•˜μ§€λ§Œ 식 λ§ŒμœΌλ‘œλŠ” κ²°κ³Ό 값이 쓰이지 μ•Šκ³  사라지기 λ•Œλ¬Έμ— κ·Έ ν›„ μ‚¬μš©ν•  수 μ—†λ‹€.

λŒ€μž… μ—°μ‚°μž(=)λ₯Ό 톡해 값을 μ €μž₯ν•  수 μžˆλŠ” 곡간에 κ²°κ³Όλ₯Ό μ €μž₯ν•œλ‹€.

ex) y = 4 * x + 3

 

3. μ—°μ‚°μžμ˜ μ’…λ₯˜

 

ν”Όμ—°μ‚°μžμ˜ κ°œμˆ˜μ— μ˜ν•œ λΆ„λ₯˜

 

ν”Όμ—°μ‚°μžμ˜ 개수 μ—°μ‚°μž 이름
1 단항 μ—°μ‚°μž
2 이항 μ—°μ‚°μž
3 μ‚Όν•­ μ—°μ‚°μž

λŒ€λΆ€λΆ„μ˜ μ—°μ‚°μžλŠ” 이항 μ—°μ‚°μžμ΄λ‹€.

 

4. μ—°μ‚°μžμ˜ μš°μ„ μˆœμœ„μ™€ κ²°ν•© κ·œμΉ™

식 μ„€λͺ…
-x + 3 단항 μ—°μ‚°μž(-) > 이항 μ—°μ‚°μž(+)
x + 3 * y κ³±μ…ˆ > λ§μ…ˆ
x + 3 > y - 2 μ‚°μˆ  μ—°μ‚°μž > 비ꡐ μ—°μ‚°μž
x > 3 && x < 5 비ꡐ μ—°μ‚°μž > 논리 μ—°μ‚°μž
result = x + y * 3 λͺ¨λ“  λ‹€λ₯Έ μ—°μ‚°μž > λŒ€μž… μ—°μ‚°μž

 

μ£Όμ˜ν•΄μ•Ό ν•  μ—°μ‚°μž μ˜ˆμ‹œ

 

식 μ„€λͺ…
x << 2 + 1 μ‰¬ν”„νŠΈ μ—°μ‚°μž > λ§μ…ˆ μ—°μ‚°μž
data & OxFF == 0 비ꡐ μ—°μ‚°μž > λΉ„νŠΈ μ—°μ‚°μž(논리 μ—°μ‚°μž)
x < -1 || x > 3 && x < 5 AND μ—°μ‚°μž (&&, &) > OR μ—°μ‚°μž (||, |) κ΄„ν˜Έμ™€ ν•¨κ»˜ μš°μ„ μˆœμœ„λ₯Ό
λͺ…ν™•νžˆ ν•΄μ£ΌλŠ” 것이 μ’‹λ‹€.  x < -1 || (x > 3 && x < 5)

μš°μ„ μˆœμœ„κ°€ ν™•μ‹€ν•˜μ§€ μ•Šλ‹€λ©΄, λ¨Όμ € κ³„μ‚°λ˜μ–΄μ•Ό ν•˜λŠ” 뢀뢄을 κ΄„ν˜Έλ‘œ λ¬Άμ–΄μ€€λ‹€.

 

μ—°μ‚°μžμ˜ κ²°ν•© κ·œμΉ™

 

λŒ€λΆ€λΆ„: μ™Όμͺ½ → 였λ₯Έμͺ½

단항 μ—°μ‚°μž,λŒ€μž… μ—°μ‚°μž: 였λ₯Έμͺ½ → μ™Όμͺ½

 

정리

 

1. μ‚°μˆ  〉 비ꡐ 〉 논리 〉 λŒ€μž…. λŒ€μž…μ€ 제일 λ§ˆμ§€λ§‰μ— μˆ˜ν–‰λœλ‹€.

2. 단항⑴ 〉 이항(2) 〉 μ‚Όν•­(3). 단항 μ—°μ‚°μžμ˜ μš°μ„ μˆœμœ„κ°€ 이항 μ—°μ‚°μžλ³΄λ‹€ λ†’λ‹€.

3. 단항 μ—°μ‚°μžμ™€ λŒ€μž… μ—°μ‚°μžλ₯Ό μ œμ™Έν•œ λͺ¨λ“  μ—°μ‚°μ˜ μ§„ν–‰λ°©ν–₯은 μ™Όμͺ½μ—μ„œ 였λ₯Έμͺ½μ΄λ‹€.

 

μ—°μ‚°μžμ˜ μš°μ„ μˆœμœ„μ™€ κ²°ν•© 규

 

5. μ‚°μˆ  λ³€ν™˜

πŸ’‘μ—°μ‚° 전에 ν”Όμ—°μ‚°μž νƒ€μž…μ˜ 일치λ₯Ό μœ„ν•΄ μžλ™ ν˜•λ³€ν™˜ λ˜λŠ” 것

 

μ‚°μˆ  λ³€ν™˜μ˜ κ·œμΉ™

 

1. 두 ν”Όμ—°μ‚°μžμ˜ νƒ€μž…μ„ κ°™κ²Œ μΌμΉ˜μ‹œν‚¨λ‹€.(보닀 큰 νƒ€μž…μœΌλ‘œ 일치)

long + int → long + long → long
float + int → float + float → float
float + double → double + double → double

κ°’μ˜ 손싀을 μ΅œμ†Œν™”ν•˜κΈ° μœ„ν•œ κ·œμΉ™

 

2. ν”Όμ—°μ‚°μžμ˜ νƒ€μž…μ΄ int보닀 μž‘μ€ νƒ€μž…μ΄λ©΄ int둜 λ³€ν™˜λœλ‹€.

byte + short → int + int → int
char + short → int + int → int

⇒ int보닀 μž‘μ€ νƒ€μž…μ€ μ—°μ‚° 쀑에 μ˜€λ²„ν”Œλ‘œμš°κ°€ λ°œμƒν•  κ°€λŠ₯성이 λ†’κΈ° λ•Œλ¬Έμ— λ§Œλ“€μ–΄μ§„ κ·œμΉ™

intκ°€ κ°€μž₯ 효율적으둜 μ²˜λ¦¬ν•  수 μžˆλŠ” νƒ€μž….

 

정리

 

μ‚°μˆ  λ³€ν™˜μ΄λž€?

μ—°μ‚° μˆ˜ν–‰ 직전에 λ°œμƒν•˜λŠ” ν”Όμ—°μ‚°μžμ˜ μžλ™ ν˜•λ³€ν™˜

 

μ‚°μˆ  λ³€ν™˜ 방식은?

1. 두 ν”Όμ—°μ‚°μžμ˜ νƒ€μž…μ„ κ°™κ²Œ μΌμΉ˜μ‹œν‚¨λ‹€(보닀 큰 νƒ€μž…μœΌλ‘œ 일치).

2. ν”Όμ—°μ‚°μžμ˜ νƒ€μž…μ΄ int보닀 μž‘μ€ νƒ€μž…μ΄λ©΄ int둜 λ³€ν™˜λœλ‹€.

 

 

Reference

μžλ°”μ˜ 정석 - 남ꢁ μ„±

'πŸ“— Book > μžλ°”μ˜ 정석' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

3-3μž₯ μ‚°μˆ  μ—°μ‚°μž  (0) 2023.03.14
3-2μž₯ 단항 μ—°μ‚°μž  (0) 2023.03.14
2-5μž₯ ν˜• λ³€ν™˜  (0) 2023.03.09
2-4μž₯ κΈ°λ³Έν˜•  (0) 2023.03.09
2-3μž₯ 진법  (1) 2023.03.09

λŒ“κΈ€