📣언어/C#

[C#] 비트 연산자 : <<, >>, &, |, ^,~

ye3_ 2021. 11. 2. 16:58

시프트 연산자

  • << 왼쪽 시프트 연산자 : 첫번째 피연산자(a)의 비트를 두번째 피연산자(b)만큼 왼쪽 이동 = a * 2(b제곱)
  • >> 오른쪽 시프트 연산자 : 첫번째 피연산자(a)의 비트를 두번째 피연산자(b)만큼 오른쪽 이동 = a / 2(b제곱)
    int a = 240;	// 00000000 00000000 00001111 00000000
    int result_a = a<<2;	// 00000000 00000000 00111100 00000000
    int result_b = b>>2;	// 00000000 00000000 00000011 11000000​

비트 논리 연산자

  • & 논리곱(and) 연산자 : 두 비트 모두 참이여야 참
  • | 논리합(or) 연산자 : 두 비트 중 하나라도 참이면 참
  • ^ 배타적 논리합(xor) 연산자 : 두 비트가 서로 달라야 참
  • ~ 보수(not) 연산자 : 피연산자가 하나뿐인 단항 연산자. 비트를 뒤집는 기능