Programming/Bash Shell Script

[Bash Shell Script] 쉘 스크립트 2진수 계산 구현 예제 (if문을 이용한 비트 OR 연산자 구현)

Nirsa 2020. 7. 3. 16:22
반응형

 

  • 쉘 스크립트 2진수 계산 구현 예제 (if문을 이용한 비트 OR 연산자 구현)

쉘 스크립트에서 if문을 이용해 비트 OR 연산자를 구현해볼 수 있습니다. 비트 OR 연산자는 비트1, 2중 하나라도 1이 있을 경우 결과가 1이 되고 비트 1, 2 둘 다 0일 경우 결과가 0이 됩니다.

비트1 비트2 결과
0 1 1
1 1 1
1 0 1
0 0 0

 

아래와 같이 비트1, 2를 모두 더한 값에서 2가 되는 값만 1로 변경해주면 쉘 스크립트에서 if문을 이용하여 간단히 비트 OR 연산자를 구현해볼 수 있습니다.

  • 1+1=2 → 2진수에는 0과 1밖에 없으므로 2는 모두 1로 변경
  • 0+1=1, 1+0=1 → 비트 OR 연산자의 결과와 같으므로 유지
  • 0+0=0 → 비트 OR 연산자의 결과와 같으므로 유지
#!/bin/bash
bit_1=11101
bit_2=10001

# bit_1, bit_2를 더한 값을 bit_add 변수로 저장
# 1+1=2, 0+1=1, 0+0=0과 같이 계산 됨
bit_add=`expr $bit_1 + $bit_2` 

# bit_add 변수에 2가 포함되어 있을 경우 참
if [[ "$bit_add" =~ "2" ]]; then

        # bit_add 변수에 2라는 문자열을 모두 1로 변경 후 bit_result 변수에 저장
        bit_result=${bit_add//2/1}
        
        # bit_result 변수 내용 출력
        echo $bit_result
fi

 

반응형