[C, C++] 비트 연산자

성현씨·2024년 2월 16일
0

C / C++

목록 보기
4/15
post-thumbnail

◾ 비트 연산자

  • 비트 단위로 연산이 진행될 때
  • 쉬프트 <<, >> : 비트를 정한 방향으로 한칸씩 민다!
	unsigned char byte = 1;

	// byte = byte << 1;
	byte <<= 1;    // 왼쪽으로 한칸 밀겠다.

  • 10진수에서 숫자가 다음자리로 넘어간다면 10배 증가
  • 2진수에서 숫자가 다음자리로 넘어간다면 2배 증가

byte <<= 3; // 2^n 배수
byte >>= 1; // 2^n 나눈 몫
  • 1/2 절반으로 줄어듦 나누기는 나머지가 발생할 수 있음
  • (>>) 할 시 밀리면서 나머지는 사라짐 고로 몫만 남게 됨


◾ 비트 곱(&), 합(|), xor(^), 반전(~)

  • & : 둘다 1인 경우 1
  • | : 둘중 하나라도 1이면 1
  • ^ : 같으면 0, 다르면 1
  • ~ : 1은 0으로, 0은 1로
profile
순수청년

0개의 댓글