Bit 연산자 ALU Arithmetic and Logical Unit

⭐ Bit 연산자 ⭐

임베디드 영역에서는 비트를 자유자재로 다루는 법이 중요합니다. 때문에 C언어를 모두 학습한 후에 돌아와 주시길 바랍니다.

Bit 연산자에 대해 학습하겠습니다.


예를 들어

GPIO 선언 시 struct를 통해 선언된 레지스터들을 조작할 때 일정 비트를 ON/OFF 하거나,

데이터를 받아드릴때 하위/상위 비트를 뽑아 사용할 때,

데이터를 나누거나 곱하는 가공에도 사용됩니다.

마이크로 프로세서를 접해보지 못한 사람은 다소 어렵게 느껴질 수 있습니다.


간단한 예를 들어

각 비트를 방에 있는 불을 켜는 스위치라고 생각하고 거실에 있는 스위치(첫번째 비트 0000 0000)를 키고자할 때

첫번째 비트(0000 0001)를 켜주면 됩니다.



& : 최하위 4bit 추출


| : bit 1로 설정


^ : XOR 특정 비트만 반전


~ : 1의 보수


» : 나누기, 원하는 비트 위치로 옮김

>> 1 → 2 나누기

>> 2 → 4 나누기 0001 0000 → 0000 01000

>> 3 → 8 나누기


« : 곱하기, 원하는 비트 위치로 옮김

>> 1 → 2 곱하기

>> 2 → 4 곱하기

>> 3 → 8 곱하기


&& || : true, fulse

7



카테고리:

업데이트: