BC와 DC의 차이점은 무엇입니까?

BC와 DC의 차이점은 무엇입니까?

dcbc계산기 와 무엇이 다른가요?

언제 사용해야 dc하며 언제 사용해야 합니까 bc?

답변1

dcbc.cite 보다 매우 오래된 도구입니다 .위키피디아 페이지:

이는 C 프로그래밍 언어가 발명되기 이전인 가장 오래된 Unix 유틸리티 중 하나입니다. 그 시대의 다른 유틸리티와 마찬가지로 강력한 기능 세트를 가지고 있지만 매우 간결한 구문을 가지고 있습니다.

구문은 역폴란드 표기법으로 기본적으로 매개변수(예: 숫자)가 먼저 오고 그 뒤에 연산자가 옵니다. 기본적인 사용 예는 dc다음과 같습니다.

echo '3 4 * p' | dc

계산 p결과를 인쇄해야 합니다. bc반면에 더 친숙한 중위 표기법이 사용되므로 사용하기가 더 직관적입니다. 사용 예 는 다음과 같습니다 bc.

echo '3 * 4' | bc

어느 것을 사용할 것인가?

bcPOSIX에 의해 표준화되었으므로 아마도 둘 중 이식성이 더 좋을 것입니다(적어도 최신 시스템에서는). 수동 계산기 작업을 하고 있다면 이것이 확실히 좋은 방법입니다(조금 마조히스트가 아닌 이상). dc여전히 그 용도가 있지만 이 경우 역폴란드 표기법이 유용합니다. 합계를 구하려는 숫자 스트림을 출력하는 프로그램이 있다고 가정해 보세요. 예를 들면 다음과 같습니다.

23
7
90
74
29

다음과 같이 스트림에 a를 추가하기만 하면 되기 때문에 이 작업을 수행하는 것은 매우 쉽습니다 dc(최소한 현대 구현에서는 각 연산자가 두 개 이상의 숫자를 허용할 수 있음).+p

{ gen_nums; echo +p } | dc

하지만 bc더 복잡합니다. 왜냐하면 우리는 단지+ ~ 사이각 숫자를 확인하고 모든 것이 같은 줄에 있는지 확인하고 끝에 개행 문자가 있는지도 확인하세요.

{ gen_nums | sed '$ !s/$/+/' | tr -d '\n'; echo; } | bc

답변2

둘 사이의 기본적인 차이점은 dc다음과 같습니다.역 폴란드 표기법. 출력을 생성하려면 명시적인 명령이 필요합니다.

다음과 같은 방법으로 두 개의 정수를 추가할 수 있습니다 bc.

bc <<< "2+4"

6라인 자체에서 생산됩니다 . 그러나 다음과 같이 dc말해야 합니다.

dc <<< "2 4 +p"

dc내 답변을 참조하는 것과 같이 를 사용하여 재미있는 일을 많이 할 수도 있습니다.여기생산을 위해

Hello World!

사용 dc.

dc<<<"8 9*P101P108P108P111P4 8*P81 6+P111P114P108P100P33P"

답변3

dc계산기가 bc아니라 실제 언어입니다. 해당 매뉴얼 페이지를 참조하십시오.

직류

dc는 무한 정밀도 계산을 지원하는 역 폴란드어 데스크탑 계산기입니다. 또한 매크로를 정의하고 호출할 수도 있습니다. 일반적으로 dc는 표준 입력에서 읽습니다. 명령 인수가 주어지면 이는 파일 이름이며, dc는 표준 입력에서 읽기 전에 파일의 내용을 읽고 실행합니다. 모든 정상 출력은 표준 출력이고, 모든 오류 출력은 표준 오류입니다.

기원전

bc는 임의의 정밀도 숫자를 지원하고 대화식으로 명령문을 실행하는 언어입니다. 구문은 C 프로그래밍 언어와 일부 유사합니다. 표준 수학 라이브러리는 명령줄 옵션을 통해 사용할 수 있습니다. 원하는 경우 파일을 처리하기 전에 수학 라이브러리를 정의할 수 있습니다. bc는 먼저 명령줄에 나열된 모든 파일의 코드를 나열된 순서대로 처리합니다. 모든 파일이 처리된 후 bc는 표준 입력에서 읽습니다. 모든 코드는 읽기 시 실행됩니다. (파일에 프로세서를 중지하는 명령이 포함되어 있으면 bc는 표준 입력에서 읽지 않습니다.)

그것은 실제로 수학적으로 궁극적으로 무엇을 하고 싶은지에 달려 있습니다. 특정 작업이 작동하지 않습니다 dc. 저는 수년 동안 다른 여러 명령줄 계산기 도구 외에도 이 두 도구를 사용해 왔습니다. 바라보다"명령줄 표현 해결사?” 몇 가지 추가 예입니다.

답변4

내 생각에 가능한 한 짧게 말해서 GNU dc는 세 가지 면에서 GNU bc와 다릅니다.

1) bc의 수학 라이브러리에 관심이 없다면 초등 산술을 할 때 키 입력을 최대한 절약하고(Jan Łukasiewicz의 말에 따르면 괄호 기호 없음) 필수 사항에 더 집중하고 주의가 산만해지는 것을 피하십시오.

2) Microsoft Windows 7의 명령줄에서 GNU dc는 GNU bc(~360K)보다 적은 메모리(~320K)를 소비합니다.

3) GNU dc의 제어 세분성은 GNU bc의 제어 세분성보다 큽니다. 예를 들어 GNU bc에는 스택 및 레지스터 명령이 없습니다.

win32의 버전 1.07.1은 다음 위치에 있습니다.https://embedeo.org/ws/command_line/bc_dc_calculator_windows/

관련 정보