bc가 float 연산을 지원하지 않는 것 같습니다 echo 1/8 | bc
.
확인 bc (1)
했지만 언급조차하지 않으므로 float
지원되는지 궁금합니다.
bc가 float 연산을 지원하지 않는 것 같습니다 echo 1/8 | bc
.
확인 bc (1)
했지만 언급조차하지 않으므로 float
지원되는지 궁금합니다.
답변:
bc
부동 소수점을 수행하지 않지만 고정 소수점 이하 자릿수를 수행합니다. -l
플래그 Hauke는 부하 예에 대한 수학 라이브러리를 언급하고있다. 삼각 함수이지만
[...] 기본 스케일 은 20입니다
scale
매뉴얼 페이지에 언급 된 "특수 변수"중 하나입니다. 설정할 수 있습니다 :
scale=4
당신이 원하는 언제든지 ( -l
사용 여부 ). 10 진수로 사용 된 유효 자릿수를 나타냅니다 . 다시 말해, 후속 솔루션은 소수점 이하 자릿수 (== 고정 정밀도) 후에 해당 자릿수로 반올림됩니다.
기본 스케일 산세 -l
는 0으로, 정수로 반올림됨을 의미합니다.
1) bc의 숫자는 스케일이 있습니다. 숫자의 스케일을 스케일 팩터와 혼동해서는 안됩니다. 동일한 세계 '스케일'은 숫자의 스케일을 쿼리하는 함수 또는 스케일 팩터를 설정하는 매개 변수로 사용됩니다.
echo "scale=scale(1.1);11/10" | bc will return 1.1
2) 스케일 팩터는 연산을 수행 할 때 소수점 오른쪽에 몇 자릿수가 유지되는지 결정합니다. s가 현재 배율 인 경우 sa는 첫 번째 피연산자 a의 배율이고 sb는 두 번째 피연산자 b의 배율이며 결과는 다음과 같이 잘립니다.
scale of result
a+b max(sa,sb)
a-b max(sa,sb)
a*b min(sa+sb , max(s,sa,sb))
a/b s
a%b so that a = b*quotient + remainder; remainder has sign of a
a^b min(sa×|b|, max(s,sa)); b must be integer
sqrt(a) max(s,sa)
3) 기원전 bc는 dc의 전 처리기였습니다. 많은 시스템에서 bc는 독립형 프로그램입니다.
echo "scale=4; 1/8" | bc