BC

2013-04-23 3 views
5

bc, 리눅스 명령 줄 계산기로 분수 지수를 사용하면 혼동하지 않습니다BC

3^2 
9 

에도 부정적인 지수를 계산하기에 충분한 실력 it entersters

9^0.5 
Runtime warning (func=(main), adr=8): non-zero scale in exponent 

어떻게하면 이것을 처리 할 수 ​​없습니까?

오류 메시지는 무엇을 의미합니까?


은 네, http://www.linuxquestions.org/questions/programming-9/bc-and-exponents-containing-decimals-and-fractions-755260/ 과 해결책이 주어진

e(0.5*l(9)) 
2.99999999999999999998 

을 읽었습니다.

그리고 정밀도의 손실 때문에 예, 그것은 좋은없고

계산기

는 표현을 해결하기 위해 가정된다. 당신이 계산기 쉽게 메이크업 수명 안된다,

기능

는 자신의 함수를 작성하는 사용자를 장려하기 위해 설계되었습니다 ... 주변의 다른 방법이 될 예정이다. 이 계산기를 사용자 정의 함수에 제곱근을 계산하는 고유 한 계산기로 만듭니다.

s(x)c(x)이 매우 직설적 인 것처럼 접선 또는 코탄젠트의 함수를 작성하는 데 별 어려움이 없습니다. 하지만 내 생각에 사용자 정의 함수를 통해 제곱근을 계산하는 것은 너무 어렵습니다.

파이썬이 있다면 bc를 사용하는 이유는 무엇입니까? 속도?

+0

expr^expr의 두 번째 인수는 정수 여야합니다 (배율 = 0). 하지만 0.5는 scale = 1입니다. – hendrik

+0

주'bc'는 이미 네이티브 제곱근 함수를 가지고 있습니다 :'scale = 5; sqrt (9)' – khaverim

답변

2

bc는 "수학 확장"에 의해 제공되지 않는 매우 기본적인 기능이며 더 복잡한 기능은 언어 자체에서 구현되어야합니다. 모든 작업을 수행해야합니다. 특히 "힘"은 wikipedia에조차 일반적인보기이다.

하지만 여기서는 예를 들어 this answer을 읽는 데 관심이있을 수 있습니다.

+0

나는 이것이 거기에 이미있는 '힘'기능을 가지고 있지 않았다는 것에 동의 할 것이다. 그것은'3^2'와 심지어'3^-2'을 완벽하게 계산할 수 있습니다. 그러나 제곱근과 같은 간단한 함수가 요청 될 때 해독 할 수없는 오류 메시지로 응답합니다. –

+0

에는 전원 기능이 없습니다. 정수 전원 기능을 가지고 있습니다. 내가 지금 사용할 수있는 BC에서'9^0.11'을 요청할 때의 오류는 "명확하지 않은 정수"입니다. 그러나 "비 - 제로 스케일"은 똑같은 것을 의미합니다. 왜냐하면 "스케일 = 0"을 사용하여 "정수 정밀도"(십진수 없음)를 원하는 bc를 말하기 때문입니다. – ShinTakezou

+0

"전원 기능이 없습니다 : 정수 전원 기능이 있습니다"는 의미가 없습니다. BC의 다른 모든 함수는 소수 인수를 허용합니다. 왜 널리 사용되는 기능을 예외로합니까? –

0

bc에서 b는^b의 정수 여야합니다. 그러나이 같은 BC에 자신의 기능을 추가 할 수 있습니다 다음과 같이

define pow(a, b) { 
    if (scale(b) == 0) { 
     return a^b; 
    } 
    return e(b*l(a)); 
} 

당신은 BC를 시작할 수 있습니다 :

는 다음 함수를 추가, 파일 ~/.bcrc을 만들

bc -l <(cat ~/.bcrc) 

그래서 함수 pow를 사용하여 계산할 수 있습니다.

더보기 here을 참조하면 bc에 몇 가지 기능을 추가 할 수 있습니다.