Bit Operator, Bitwise Operator   비트 연산자

(2024-10-05)

비트 연산, 시프트 연산, 비트 논리 연산자, 비트 이동 연산자


1. 비트 연산자 (Bit Operator, Bitwise Operator)비트 단위 논리 연산자 
     -  ~  :  (비트 단위 부정)
     -  &  :  (비트 단위 논리곱)
     -  |  :  (비트 단위 논리합)
     -  ^  :  (비트 단위 XOR)

     * 例) 반가산기  :  합(sum) = (a ^ b), 캐리(carry) = (a & b)

     * [C언어] 단순 비트 처리를 위한 자료형으로, 통상 unsigned char (1 바이트)을 많이 사용


  ㅇ 비트 간의 시프트 연산자
     - (비트) << (이동 수)  :  (좌로 1 비트 이동, left shift)
     - (비트) >> (이동 수)  :  (우로 1 비트 이동, right shift)

     * 비트 시프트는, 2의 거듭제곱 연산시 매우 효율적임
        . 좌로 시프트(left shift)는 2의 거듭제곱으로 곱하기
           .. 1 << 1  =>  1 x 21 = 2  :  (0001)  =>  (0010) 
           .. 2 << 1  =>  2 x 21 = 4  :  (0010)  =>  (0100)
           .. 3 << 2  =>  3 x 22 = 12  :  (0011)  =>  (1100)
        . 우로 시프트(right shift)는 2의 거듭제곱으로 나누기
           .. 12 >> 2  =>  12 ÷ 22 = 3  :  (1100)  =>  (0011)
        . 결국, 2의 거듭제곱을 계산할 때, 
           .. 상수 시간(시간복잡도 : O(1))에 수행되므로, 곱셈,나눗셈에 비해 매우 빠르게 됨 
 

  ㅇ (기타) (zero-fill right shift) (자바,자바스크립트 등)
     - (비트) >>> (이동 수)  :  (우로 이동시키고, 좌의 빈 자리를 0으로 채움)

     * 例) 8 >>> 2  =>  (1000) -> (0010)

[연산,연산자,수식]1. 연산,연산자   2. 식,수식,표현식   3. 비교 연산,논리 연산   4. 비트 연산  


"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]       편집·운영 (차재복)          편집 후원          편집 이력
  1. Top (분류 펼침)      :     1,591개 분류    6,512건 해설