8비트 바이너리 값을 생성하는 방법

8비트 바이너리 값을 생성하는 방법

방금 10진수를 8비트 이진수로 변환하기 위해 obase=2 메서드를 구현했습니다. 하지만 소수(예: 1과 2)를 변환하면 0이 나오지 않고 소수 1을 이진수 1(0 없이)로 출력하지만 앞에 0이 있는 소수점 8자리를 모두 가져오고 싶습니다. 이 문제에 대해 어떻게 해야 합니까?

이것은 내가 사용하는 코드입니다

c=$(echo "obase=2,$d" | bc)
echo binary $c 

$d가 0-255 사이의 모든 소수 값을 저장한다고 가정합니다.이것이 내가 얻는 결과입니다

답변1

형식화된 데이터를 인쇄하려면 다음을 사용하지 마십시오 echo.printf

$ binaryvalue='101'
$ printf "%08d\n" "$binaryvalue"
00000101

형식 플래그는 %08d앞에 0이 포함된 8자 너비의 숫자 값을 인쇄하는 것을 의미합니다.

관련 정보