논리 연산, 비트 연산

2024. 4. 2. 11:22·knowledge/기타 지식

    1. 논리 연산 

    논리 연산은 프로그래밍에서 조건을 판단하고 결합할 때 사용되는 기본적 연산입니다. 

    주로 Boolean값으로 참(True) 또는 거짓(False) 사이의 연산을 수행할 때 사용하는 것입니다. 

    연산의 종류로는 AND, OR, NOT, XOR 연산이 있습니다. 

     

    AND 연산은 둘 다 참이면 참입니다. 

    OR 연산은 둘 중 하나라도 참이면 참입니다. 

    NOT 연산은 참을 거짓으로, 거짓을 참으로 바꿉니다. 

    XOR 연산은 두 조건이 서로 다르면 참이고, 같으면 거짓입니다. 


     

    2. 비트 연산 

    비트 연산은 논리 연산을 비트 단위로 수행하는것을 말 합니다.

    1은 참, 0은 거짓을 나타냅니다. 

     

    OR : 두 비트 중 하나라도 1 이면 1입니다. 

    AND: 두 비트 모두 1이면 1입니다. 

    XOR: 두 비트가 같으면 0, 다르면 1입니다.

    NOT: 비트가 0이면 결과는1, 1이면 결과는 0입니다. 

    ▶ shift 연산자 

    비트(bit) 단위로 왼쪽이나 오른쪽으로 이동시키는 연산자입니다. 

    shift 연산자의 종류로는 << , >> , >>> 연산자가 존재합니다. 

     

     

    1. 왼쪽 시프트 연산자 ( x << n )

    비트를 n 만큼 왼쪽으로 이동시키고 빈 칸은 모두 0으로 채웁니다. 

    결과는 x * (2^n)이 됩니다.

     

     

    2. 오른쪽 시프트 연산자 ( x >> n )

     

    비트를 n만큼 오른쪽으로 이동시키고 빈 칸은 MSB와 동일한 비트로 채웁니다. ( 부호유지 )

    결과는 x / (2^n)이 됩니다.

     

     

    3. 논리 시프트 연산자 ( x >>> n ) , ( x <<< n )

     

    비트를 n만큼 오른쪽/왼쪽 으로 이동시키고 빈 칸은 모두 0으로 채웁니다. ( 음수 부호 유지 안됩니다. )

     

     

     

     

     

    참고 문헌 

    1. https://fastbitlab.com/logical-operators-in-c/
    2. https://www.baeldung.com/java-xor-operator
    3. https://www.xsharp.eu/help/bitwise_operators.html
    4. https://www.scientecheasy.com/2020/05/shift-operator-in-java.html/
    5. https://dreamhack.io/
    저작자표시 비영리 변경금지 (새창열림)

    'knowledge > 기타 지식' 카테고리의 다른 글

    Base64  (0) 2024.05.11
    인코딩과 디코딩  (0) 2024.04.02
    bit, byte, Byte ordering  (0) 2024.04.02
    진법  (2) 2024.04.02
    컴퓨터 과학(Computer Science)이란?  (0) 2024.04.01
    'knowledge/기타 지식' 카테고리의 다른 글
    • Base64
    • 인코딩과 디코딩
    • bit, byte, Byte ordering
    • 진법
    스우스우03
    스우스우03
    보안 전문가가 되기 위한 노력들
    • 스우스우03
      스우스우
      스우스우03
    • 전체
      오늘
      어제
      • 분류 전체보기 (142)
        • 환경 세팅 및 사용법 (12)
          • 가상환경 (3)
          • Visual Studio Code (3)
          • GitHub (6)
        • Language (17)
          • Python (7)
          • C (2)
          • 알고리즘 (8)
        • Hack&Dev (15)
          • 암호학 (3)
          • Web (11)
          • Pwnable (1)
        • Wargame (88)
          • bandit wargame (42)
          • natas wargame (11)
          • wargame 암호학 (7)
          • Webhacking.kr (26)
          • wargame forensic (1)
          • wargame misc (1)
        • knowledge (8)
          • 기타 지식 (8)
        • 기타... (1)
    • hELLO· Designed By정상우.v4.10.0
    스우스우03
    논리 연산, 비트 연산
    상단으로

    티스토리툴바