
bc
저는 2진수를 16진수로, 8진수를 10진수로 변환하는 데 사용했습니다 .
다음 예에서는 16진수(16진수)를 2진수, 8진수, 10진수로 변환하려고 했습니다.
처음 2번 시도에는 아무런 문제가 없습니다.
$ echo 'ibase=16; obase=2; FF' | bc
11111111
$ echo 'ibase=16; obase=8; FF' | bc
377
그런데 16진수(16진수)를 10진수(10진수)로 변환하려고 했더니 잘못된 답이 나왔습니다. 대답은255
$ echo 'ibase=16; obase=10; FF' | bc
FF
답변1
완료 되면 ibase=16
추가 입력 숫자는 16진수로 표시됩니다.포함10은 10 obase=10
진수 값 16을 나타냅니다. 따라서 새로운 입력 기준(현재 16진수)을 사용하여 앞에 obase를 설정하거나 나중에 설정하십시오.
$ echo 'obase=10; ibase=16; FF' | bc
255
$ echo 'ibase=16; obase=A; FF' | bc
255