체계:
- 우분투 22.04.3 LTS
- GNU bash, 버전 5.1.16(1)-릴리스(x86_64-pc-linux-gnu)
- 기원전 1.07.1
관찰하다:
ibase
그리고 설정되지 않았습니다 obase
.
echo "A0" | bc
90
echo "B0" | bc
90
echo "X0" | bc
90
질문: 기본적으로 bc
알파벳 문자가 9
s 로 해석되는 이유는 무엇입니까? 여기에 오류 메시지를 표시하는 것이 더 좋지 않은 이유는 무엇입니까?
답변1
man bc
GNU 시스템(GNU bc
1.07 이상) 에서 :
간단한 표현식은 상수일 뿐입니다.
bc
변수에 지정된 현재 입력 기수를 사용하여 상수를 내부 십진수로 변환합니다ibase
. (함수에 예외가 있습니다.) 에 대한 유효한 값은ibase
2~36입니다. (16보다 큰 염기는 확장입니다.)
이 범위 밖의 값을ibase
2 또는 36개의 결과 값에 할당합니다. 입력 번호에는 0-9 및 AZ 문자가 포함될 수 있습니다. (참고: 대문자여야 합니다. 소문자는 변수 이름입니다.) 의 값에 관계없이 단위 번호는 항상 해당 숫자의 값을 갖습니다ibase
. (즉, A = 10.)여러 자리, 값보다 크거나 같은 모든bc
입력 숫자를 변경합니다. 이렇게 하면 숫자가 항상 입력 베이스에서 가장 큰 3자리 숫자가 됩니다.ibase
ibase-1
ZZZ
(강조합니다.)