adsense_in_article_test


[bash: bc] 자연수 나눗셈에서 올림/반올림 리눅스 bash script

bc를 이용해서 자연수 나눗셈을 할 때, 결과값은 나눈 몫의 자연수 부분이 되고 소수점 부분은 버려지게 된다. (bc를 이용한 산수 계산에 대한 좀 더 자세한 내용은 이전 게시물을 참고하자. 여기로)

echo "10/3" | bc
3

만약 소수점 부분에 대해 올림이나 반올림을 적용하고 싶다면 아래과 같이 변형시켜서 계산하면 되겠다.

먼저 올림부터 보자. 변수 a와 b에 자연수가 할당되어 잇고 a/b를 계산하고자 한다면 a 대신에 (a+b-1)을 사용해서 계산하면 된다. 아래의 예시를 보자.

# 올림
a=10
b=3
echo "($a+$b-1)/$b" | bc

4

이번엔 반올림(소수점 부분이 0.5 이상이면 올림, 0.5 미만이면 버림)이다. a/b를 계산할 때 반올림을 적용하고 싶다면 a 대신에 (a+b/2)를 사용해서 계산한다.

# 반올림
a=10
b=3
echo "($a+$b/2)/$b" | bc

3



덧글

  • ㅁㄴㄷㄹㄴ 2017/11/28 17:17 # 삭제 답글

    -1 하면 버림 아님?
  • 반달가면 2017/11/28 18:05 #

    bc에서 자연수 나눗셈은 기본적으로 "버림"으로 계산됩니다. 자연수 a, b에 대하여 a/b를 계산할 때 올림으로 하려면 a/b 대신 (a+b-1)/b를 계산해야 합니다. 예를 들어 10/3의 결과가 버림이라면 3, 올림이라면 4가 되어야겠죠.
댓글 입력 영역
* 비로그인 덧글의 IP 전체보기를 설정한 이글루입니다.



통계 위젯 (화이트)

15171
2305
2454963

2019 대표이글루_IT

B-Side