bc는 16진수 계산을 지원합니까?

bc는 16진수 계산을 지원합니까?

hex을 사용하여 직접 계산을 하려고 하는데 bc, 배율을 지정해 두었습니다.

echo 'scale=16;c06b1000-c06a5e78' | bc

하지만 여전히 점수가 0점이에요. 무엇이 잘못될 수 있나요?

답변1

echo 'ibase=16;C06D1000-C06A5E78' | bc
176520

소문자 16진수는 함수 및 변수 이름과 충돌하므로 대문자 16진수만 지원됩니다. 따라서 예제( var1 - var2) 에서는 0이 표시됩니다.

16진수로도 답이 필요하면 obase변수를 설정하십시오.

echo 'obase=16;ibase=16;C06D1000-C06A5E78' | bc
2B188

추신: 참고용으로만 사용하세요. scale변환 베이스용으로 설계되지 않았습니다. 에서 man bc:

scale defines how some operations use digits after the decimal point.
The default value of scale is 0.

관련 정보