반응형
비트 연산자(Bitwise Operator)
키워드 | 논리 방식 | 논리 게이트 |
& | 비트 논리곱 | AND |
| | 비트 논리합 | OR |
^ | 비트 상호배제 | XOR |
~ | 비트 부정 | NOT |
<< | 비트 왼쪽 이동 | - |
>> | 비트 오른쪽 이동 | - |
& 연산자 (논리 AND 연산자)
public class Program
{
public static void Main()
{
int a = 4; // 00000000 00000000 00000000 00000100
int b = 8; // 00000000 00000000 00000000 00001000
int c = a & b;
Console.WriteLine("c :{0}", c);
}
}
결과값 : 0
public class Program
{
public static void Main()
{
int a = 4; // 00000000 00000000 00000000 00000100
int b = 12; // 00000000 00000000 00000000 00001100
int c = a & b;
Console.WriteLine("c :{0}", c);
}
}
결과값 : 4
& 연산자 (논리 OR 연산자)
public class Program
{
public static void Main()
{
int a = 4; // 00000000 00000000 00000000 00000100
int b = 8; // 00000000 00000000 00000000 00001000
int c = a | b;
Console.WriteLine("c :{0}", c);
}
}
결과값 : 12
^ 연산자 (논리 XOR 연산자)
public class Program
{
public static void Main()
{
int a = 15; // 00000000 00000000 00000000 00001111
int b = 7; // 00000000 00000000 00000000 00000111
int c = a ^ b;
Console.WriteLine("c :{0}", c);
}
}
결과값 : 8
~ 연산자 (논리 부정 연산자)
using System;
class MyProgram
{
public static void Main()
{
Console.WriteLine(~1);
Console.WriteLine(~2);
Console.WriteLine(~3);
Console.WriteLine(~4);
}
}
결과값 :
-2
-3
-4
-5
실제 사용 예제
Half 매서드 : 비트 오른쪽 이동으로 절반으로 나누는 매서드
IsOdd 매서드 : 비트 논리곱을 이용해서 홀수 짝수를 판단하는 매서드
static int Half(int n)
{
return n >> 1;
}
static bool IsOdd(int n)
{
return (n & 1) == 1 ? true : false;
}
함께 읽으면 좋은 글
참조 사이트
'프로그래밍 > C#' 카테고리의 다른 글
C# 간단하게 Json 형식 파싱하기 (2) | 2023.01.26 |
---|---|
C# 연산자(Operators) (0) | 2023.01.25 |
C# 가변(Mutable)과 불변(Immutable) 타입에 대하여 (0) | 2023.01.25 |
C# 얕은 복사(Shallow Copy), 깊은 복사(Deep Copy) (0) | 2023.01.18 |
C#의 역사 (0) | 2023.01.03 |
댓글