λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μΉ΄ν…Œκ³ λ¦¬ μ—†μŒ

μ ˆλŒ€κ°’ κ΅¬ν•˜κΈ° (abs, labs, fabs) ν•¨μˆ˜ μ‚¬μš©λ²• & 예제

by 5566 2023. 11. 7.

1. μ ˆλŒ€κ°’μ΄λž€?

μ ˆλŒ€κ°’μ€ μ–΄λ–€ 수의 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°œλ…μž…λ‹ˆλ‹€. μˆ˜ν•™μ μœΌλ‘œ λ§ν•˜λ©΄ νšŒκ³„κ°’(νŽΈμ§‘μƒμž κ°’)κ³Ό μ •μˆ˜ κ°’λ§Œμ„ κ³ λ €ν•˜λ©°, λ‹€μŒκ³Ό 같이 μ •μ˜ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

  • μ–‘μˆ˜μ— λŒ€ν•΄μ„œλŠ” 자기 μžμ‹ μ„ κ·ΈλŒ€λ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€.
  • μŒμˆ˜μ— λŒ€ν•΄μ„œλŠ” λΆ€ν˜Έλ₯Ό μ œκ±°ν•œ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€.

μ ˆλŒ€κ°’μ€ 수의 크기λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ²ƒμœΌλ‘œ, μŒμˆ˜μ™€ μ–‘μˆ˜μ— λŒ€ν•΄μ„œ λͺ¨λ‘ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ μ ˆλŒ€κ°’(concept of absolute value)은 ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄μ—μ„œλ„ 자주 μ‚¬μš©λ˜λ©°, abs, labs, fabs와 같은 ν•¨μˆ˜λ₯Ό 톡해 계산될 수 μžˆμŠ΅λ‹ˆλ‹€. 이제 abs ν•¨μˆ˜, labs ν•¨μˆ˜, 그리고 fabs ν•¨μˆ˜λ₯Ό μ†Œκ°œν•˜κ³ , 각 ν•¨μˆ˜μ˜ μ‚¬μš©λ²•κ³Ό 예제λ₯Ό μ•Œμ•„λ³΄κ² μŠ΅λ‹ˆλ‹€.

2. abs ν•¨μˆ˜ μ‚¬μš©λ²•

abs ν•¨μˆ˜λŠ” μ •μˆ˜λ‚˜ 뢀동 μ†Œμˆ˜μ  수의 μ ˆλŒ€κ°’μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 ν˜•νƒœλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

abs(x)
  • x: μ ˆλŒ€κ°’μ„ κ΅¬ν•˜κ³ μž ν•˜λŠ” 수 (μ •μˆ˜, 뢀동 μ†Œμˆ˜μ  수)

abs ν•¨μˆ˜λŠ” λ§€κ°œλ³€μˆ˜λ‘œ 받은 μˆ˜μ— λŒ€ν•΄ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•˜μ—¬ κ·Έ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μ ˆλŒ€κ°’μ„ κ΅¬ν•˜λ €λŠ” μˆ˜κ°€ 음수라면 ν•΄λ‹Ή 수의 λΆ€ν˜Έλ₯Ό μ œκ±°ν•œ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ³ , μ–‘μˆ˜λΌλ©΄ κ·ΈλŒ€λ‘œ 값이 λ°˜ν™˜λ©λ‹ˆλ‹€. λ°˜ν™˜λ˜λŠ” 값은 항상 μ–‘μˆ˜μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, abs(-5)λ₯Ό ν˜ΈμΆœν•  경우, -5의 μ ˆλŒ€κ°’μΈ 5κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ, abs(5)λ₯Ό ν˜ΈμΆœν•  κ²½μš°μ—λŠ” κ·ΈλŒ€λ‘œ 5κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€.

abs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ μˆ˜λ“  μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, λ°˜λ“œμ‹œ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ²Œ λ©λ‹ˆλ‹€.

3. abs ν•¨μˆ˜ 예제

λ‹€μŒμ€ abs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ΅¬ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€:

# μ •μˆ˜λ‘œ μ ˆλŒ€κ°’ κ΅¬ν•˜κΈ°
x = -10
absolute_value = abs(x)
print(absolute_value)

# 뢀동 μ†Œμˆ˜μ  수둜 μ ˆλŒ€κ°’ κ΅¬ν•˜κΈ°
y = -3.14
absolute_value = abs(y)
print(absolute_value)

μœ„ μ˜ˆμ œμ—μ„œλŠ” abs() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μ •μˆ˜μ™€ 뢀동 μ†Œμˆ˜μ  수의 μ ˆλŒ€κ°’μ„ 각각 κ΅¬ν•˜κ³  좜λ ₯ν•©λ‹ˆλ‹€.

  • 첫 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ x에 -10을 ν• λ‹Ήν•˜κ³ , abs(x)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 이후 print() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ absolute_value 값을 좜λ ₯ν•©λ‹ˆλ‹€. 결과적으둜, -10의 μ ˆλŒ€κ°’μΈ 10이 좜λ ₯λ©λ‹ˆλ‹€.
  • 두 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ y에 -3.14λ₯Ό ν• λ‹Ήν•˜κ³ , abs(y)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ absolute_value 값을 좜λ ₯ν•˜λ©΄, -3.14의 μ ˆλŒ€κ°’μΈ 3.14κ°€ 좜λ ₯λ©λ‹ˆλ‹€.

이처럼, abs ν•¨μˆ˜λŠ” μ–‘μˆ˜μ™€ μŒμˆ˜μ— λŒ€ν•΄μ„œ λͺ¨λ‘ μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, 값이 λ°˜ν™˜λ˜λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

4. labs ν•¨μˆ˜ μ‚¬μš©λ²•

labs ν•¨μˆ˜λŠ” long ν˜• μ •μˆ˜μ— λŒ€ν•œ μ ˆλŒ€κ°’μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 ν˜•νƒœλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

abs(x)
  • x: μ ˆλŒ€κ°’μ„ κ΅¬ν•˜κ³ μž ν•˜λŠ” 수 (long ν˜• μ •μˆ˜)

labs ν•¨μˆ˜λŠ” λ§€κ°œλ³€μˆ˜λ‘œ 받은 long ν˜• μ •μˆ˜μ— λŒ€ν•΄ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•˜μ—¬ κ·Έ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μ ˆλŒ€κ°’μ„ κ΅¬ν•˜λ €λŠ” μˆ˜κ°€ 음수라면 ν•΄λ‹Ή 수의 λΆ€ν˜Έλ₯Ό μ œκ±°ν•œ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ³ , μ–‘μˆ˜λΌλ©΄ κ·ΈλŒ€λ‘œ 값이 λ°˜ν™˜λ©λ‹ˆλ‹€. λ°˜ν™˜λ˜λŠ” 값은 항상 μ–‘μˆ˜μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, labs(-5)λ₯Ό ν˜ΈμΆœν•  경우, -5의 μ ˆλŒ€κ°’μΈ 5κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ, labs(5)λ₯Ό ν˜ΈμΆœν•˜λ©΄ κ·ΈλŒ€λ‘œ 5κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€.

labs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ long ν˜• μ •μˆ˜λ“  μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, λ°˜λ“œμ‹œ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ²Œ λ©λ‹ˆλ‹€.

5. labs ν•¨μˆ˜ 예제

λ‹€μŒμ€ labs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ long ν˜• μ •μˆ˜μ˜ μ ˆλŒ€κ°’μ„ κ΅¬ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€:

# 음수인 경우
x = -10
absolute_value = labs(x)
print(absolute_value)

# μ–‘μˆ˜μΈ 경우
y = 3
absolute_value = labs(y)
print(absolute_value)

μœ„ μ˜ˆμ œμ—μ„œλŠ” labs() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μŒμˆ˜μ™€ μ–‘μˆ˜μ˜ μ ˆλŒ€κ°’μ„ 각각 κ΅¬ν•˜κ³  좜λ ₯ν•©λ‹ˆλ‹€.

  • 첫 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ x에 -10을 ν• λ‹Ήν•˜κ³ , labs(x)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 이후 print() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ absolute_value 값을 좜λ ₯ν•©λ‹ˆλ‹€. 결과적으둜, -10의 μ ˆλŒ€κ°’μΈ 10이 좜λ ₯λ©λ‹ˆλ‹€.
  • 두 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ y에 3을 ν• λ‹Ήν•˜κ³ , labs(y)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ absolute_value 값을 좜λ ₯ν•˜λ©΄, 3의 μ ˆλŒ€κ°’μΈ 3이 좜λ ₯λ©λ‹ˆλ‹€.

labs ν•¨μˆ˜λŠ” μ–‘μˆ˜μ™€ μŒμˆ˜μ— λŒ€ν•΄μ„œ λͺ¨λ‘ μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, 항상 μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

6. fabs ν•¨μˆ˜ μ‚¬μš©λ²•

fabs ν•¨μˆ˜λŠ” float ν˜• λ˜λŠ” double ν˜• μ‹€μˆ˜μ— λŒ€ν•œ μ ˆλŒ€κ°’μ„ λ°˜ν™˜ν•˜λŠ” ν•¨μˆ˜μž…λ‹ˆλ‹€. λ‹€μŒκ³Ό 같은 ν˜•νƒœλ‘œ μ‚¬μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€:

fabs(x)
  • x: μ ˆλŒ€κ°’μ„ κ΅¬ν•˜κ³ μž ν•˜λŠ” μ‹€μˆ˜ (float ν˜• λ˜λŠ” double ν˜•)

fabs ν•¨μˆ˜λŠ” λ§€κ°œλ³€μˆ˜λ‘œ 받은 μ‹€μˆ˜μ— λŒ€ν•΄ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•˜μ—¬ κ·Έ 값을 λ°˜ν™˜ν•©λ‹ˆλ‹€. μ‹€μˆ˜κ°€ 음수라면 ν•΄λ‹Ή 수의 λΆ€ν˜Έλ₯Ό μ œκ±°ν•œ μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜κ³ , μ–‘μˆ˜λΌλ©΄ κ·ΈλŒ€λ‘œ 값이 λ°˜ν™˜λ©λ‹ˆλ‹€. λ°˜ν™˜λ˜λŠ” 값은 항상 μ–‘μˆ˜μž…λ‹ˆλ‹€.

예λ₯Ό λ“€μ–΄, fabs(-4.5)λ₯Ό ν˜ΈμΆœν•  경우, -4.5의 μ ˆλŒ€κ°’μΈ 4.5κ°€ λ°˜ν™˜λ©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ, fabs(7.8)λ₯Ό ν˜ΈμΆœν•˜λ©΄ κ·ΈλŒ€λ‘œ 7.8이 λ°˜ν™˜λ©λ‹ˆλ‹€.

fabs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜λ©΄ μ–΄λ–€ float ν˜• λ˜λŠ” double ν˜• μ‹€μˆ˜λ“  μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, λ°˜ν™˜λ˜λŠ” 값은 항상 μ–‘μˆ˜μž…λ‹ˆλ‹€.

7. fabs ν•¨μˆ˜ 예제

λ‹€μŒμ€ fabs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ float ν˜• λ˜λŠ” double ν˜• μ‹€μˆ˜μ˜ μ ˆλŒ€κ°’μ„ κ΅¬ν•˜λŠ” μ˜ˆμ œμž…λ‹ˆλ‹€:

# 음수인 경우
x = -4.5
absolute_value = fabs(x)
print(absolute_value)

# μ–‘μˆ˜μΈ 경우
y = 7.8
absolute_value = fabs(y)
print(absolute_value)

μœ„ μ˜ˆμ œμ—μ„œλŠ” fabs() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ μŒμˆ˜μ™€ μ–‘μˆ˜μ˜ μ ˆλŒ€κ°’μ„ 각각 κ΅¬ν•˜κ³  좜λ ₯ν•©λ‹ˆλ‹€.

  • 첫 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ x에 -4.5λ₯Ό ν• λ‹Ήν•˜κ³ , fabs(x)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. 이후 print() ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ absolute_value 값을 좜λ ₯ν•©λ‹ˆλ‹€. 결과적으둜, -4.5의 μ ˆλŒ€κ°’μΈ 4.5κ°€ 좜λ ₯λ©λ‹ˆλ‹€.
  • 두 번째 μ˜ˆμ œμ—μ„œλŠ” λ³€μˆ˜ y에 7.8을 ν• λ‹Ήν•˜κ³ , fabs(y)λ₯Ό ν˜ΈμΆœν•˜μ—¬ μ ˆλŒ€κ°’μ„ κ³„μ‚°ν•œ ν›„ absolute_value λ³€μˆ˜μ— ν• λ‹Ήν•©λ‹ˆλ‹€. λ§ˆμ°¬κ°€μ§€λ‘œ absolute_value 값을 좜λ ₯ν•˜λ©΄, 7.8 κ·ΈλŒ€λ‘œκ°€ 좜λ ₯λ©λ‹ˆλ‹€.

fabs ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ float ν˜• λ˜λŠ” double ν˜• μ‹€μˆ˜μ˜ μ ˆλŒ€κ°’μ„ ꡬ할 수 있으며, 항상 μ–‘μˆ˜ 값을 λ°˜ν™˜ν•˜λŠ” 것을 확인할 수 μžˆμŠ΅λ‹ˆλ‹€.

λŒ“κΈ€