UNIX계 계산 언어 “bc”를 제대로 조사해 본다
bc란?
UNIX계에서 계산을 할 때 사용하는 계산 언어입니다.
NAME
bc - An arbitrary precision calculator language
"An arbitrary precision calculator language"를 일본어 번역하면 "임의 정밀도 계산 언어"입니다.
Mac 터미널에서
bc
를 치고 Enter를 누르면 터미널에서 bc를 사용할 수 있습니다.$ bc
bc 1.06
Copyright 1991-1994, 1997, 1998, 2000 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
bc는 특별히 지정하지 않으면 대화형 모드로 실행됩니다.
예를 들어,
1+2
를 입력하고 Enter를 누르면
3
그리고 결과가 반환됩니다.
↓↓실제 사용예↓↓
※
scale=5
로 하는 것으로 소수를 5 자리수까지 표시하도록 설정하고 있습니다. (기본적으로 scale=0
)옵션
bc
시작 시 옵션을 지정할 수 있습니다. 다음은 man bc
에서 옵션을 확인한 결과입니다.OPTIONS
-h, --help
Print the usage and exit.
-i, --interactive
Force interactive mode.
-l, --mathlib
Define the standard math library.
-w, --warn
Give warnings for extensions to POSIX bc.
-s, --standard
Process exactly the POSIX bc language.
-q, --quiet
Do not print the normal GNU bc welcome.
-v, --version
Print the version number and copyright and quit.
영어를 전부 번역하는 것은 귀찮기 때문에 자주 사용하는 녀석만 봅시다.
-q, --quiet
런타임에 처음 나오는 버전 정보와 copyright를 숨깁니다.
bc="bc -q"
같은 별칭을 등록해도 좋을 정도로 마스트인 옵션이라고 생각합니다.-l, --mathlib
bc -l
에서 실행하면 삼각 함수(sin,cos,arctan), 자연 로그(log), 지수 함수(exp())를 사용할 수 있습니다.-l
를 선택하면 scale
가 자동으로 20으로 설정됩니다. (=소수를 20자리 표시한다)c(0)+1 #c(0) = cos(0)
2.00000000000000000000
s(0) #sin(0)
0
l(1) #log(1)
0
l(2.71828182845904523536) #log(e)
.99999999999999999999
기수 계산
ibase, obase라는 파라미터를 만지면 임의의 기수로의 입출력이 가능합니다.
예를 들어,
ibase=10, obase=16
는 10진수로 입력한 계산식을 16진수로 결과 출력합니다. (기본적으로 둘 다 10이므로 10진수로 표시됨)ibase=10
obase=16
10+5
F
적용: 비대화식 모드로 실행
다음과 같이 리디렉션
<<
을 사용하여 비대화식 모드에서 bc를 실행할 수 있습니다.$ bc <<EOF
> scale=3
> 4/3
> EOF
1.333
위에서
EOF
가 입력될 때까지 수식 입력을 수락합니다.또는 파이프 기호
|
를 사용하여 다음과 같이 다시 작성할 수 있습니다.$ echo "scale=3; 4/3;" | bc
1.333
원주율을 임의의 자리까지 구한다
$ bc -lq
scale = 10;
(12*a(1/49)+32*a(1/57)-5*a(1/239)+12*a(1/110443))*4
3.1415926420
a()
는 tan의 역함수 arctan입니다.scale
에 지정된 자릿수의 원주율을 표시합니다.사이고에게
실은 이 기사는 블로그로부터의 재록입니다. 블로그에서는 다른 것에 대해서도 게시하고 있습니다.
사회인 1년째 SE의 때리기 비망록 - 하테나 블로그
참고
Reference
이 문제에 관하여(UNIX계 계산 언어 “bc”를 제대로 조사해 본다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Sirloin/items/c0fced5e1fde84ed09b0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)