비트 연산자

2022. 8. 26. 14:52·programming/환경설정 및 팁

<< , >> 연산자 (Shift)

 

비트를 n 만큼 왼쪽 혹은 오른쪽으로 이동시킨다.

int n1 = 9;     // (2진수 배열로 나열하면) 01001

int n2 = 11;   // (2진수 배열로 나열하면) 01011
int n3 = n1 <<1 = 010010 = 18;

int n3 = n2 >> 2 = 00010 = 2;

int n3 = 28 << 2 = 1110000 = 112;

int n3 = 28 >> 2 = 00111 = 7;

 

+ 이때, shift 연산자는 곱셈, 나눗셈과 관련이 있다.

왼쪽으로 1칸 이동할때마다 정수의 값은 2배 로 커지고 (곱셈과 관련)

오른쪽으로 1칸 이동할때마다 정수의 값은 1/2배 가 된다. (나눗셈과 관련)

 

예제로 4/2 = 4>>1 과 동일한데,

CPU 입장에서는 곱셈,나눗셈보다 비트 연산이 부담이 적어 성능 향상에도 도움이 된다.

 

[출처] [c++] 비트 연산|작성자 YEON

 

저작자표시 비영리 변경금지 (새창열림)
'programming/환경설정 및 팁' 카테고리의 다른 글
  • [Window] 윈도우에서 이모지를 검색해보자!
  • [Window] PowerToys로 편하게 살자 & 윈도우에서 맥북처럼 CapsLock으로 한영전환하는 법
  • [그라운드룰] 코드리뷰 가이드
  • 📕 객체지향의 사실과 오해 : 역할, 책임, 협력 관점에서 본 객체지향
u1qns
u1qns
그냥 알고리즘 풀이만 올리려고 했는데, 정보 찾다보니까 너무 답답해서 이것저것 쓰다보니 커졌어요.
  • u1qns
    블로그
    u1qns
  • 전체
    오늘
    어제
    • 분류 전체보기 (171) N
      • 회고 (1)
      • programming (17)
        • 개념 정리 (6)
        • CI CD (1)
        • 트러블 슈팅 (0)
        • 환경설정 및 팁 (7)
      • problem solving (153) N
        • 개념 정리 (3)
        • 백준 (127) N
        • SWEA (15)
        • 프로그래머스 (4)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    cmath
    미해결
    완전탐색
    SSAFY
    C++
    cpp
    되추적
    투포인터
    POW
    SSAFY수료식
    BFS
    boj
    백준
    SWEA
    DFS
    삼성청년SW아카데미
    그리디
    HELLOSSAFY
    구현
    DP
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
u1qns
비트 연산자
상단으로

티스토리툴바