bc
저는 2진수를 16진수로, 8진수를 10진수로 변환하는 작업을 해왔습니다 .
아래 예에서는 16진수(hex) 숫자를 2진수, 8진수, 10진수로 변환해 봅니다.
처음 두 번의 시도에는 아무런 문제가 없었습니다.
$ echo 'ibase=16; obase=2; FF' | bc
11111111
$ echo 'ibase=16; obase=8; FF' | bc
377
그런데 16진수(hex) 숫자를 10진수(decimal)로 변환하려고 하면 잘못된 답이 나옵니다. 대답은255
$ echo 'ibase=16; obase=10; FF' | bc
FF
답변1
완료되면 ibase=16
16진수로 숫자를 추가로 입력하세요.포함하다10은 10 obase=10
진수 값 16을 나타냅니다. 따라서 obase는 새로운 입력 기준(현재 16진수)을 사용하기 전이나 후에 설정할 수 있습니다.
$ echo 'obase=10; ibase=16; FF' | bc
255
$ echo 'ibase=16; obase=A; FF' | bc
255