비트 연산자 설명
& | 대응되는 비트가 모두 1이면 1을 반환함. (비트 AND 연산) |
| | 대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산) |
^ | 대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산) |
~ | 비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산) |
<< | 지정한 수만큼 비트들을 전부 왼쪽으로 이동시킴. (left shift 연산) |
>> | 부호를 유지하면서 지정한 수만큼 비트를 전부 오른쪽으로 이동시킴. (right shift 연산) |
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
using System;
namespace Shift0perator
{
class MainApp
{
static void Main(string[] args)
{
Console.WriteLine("Testing <<...");
int a = 1;
Console.WriteLine("a : {0:D5} (0x{0:X8})", a);
Console.WriteLine("a << 1 : {0:D5} (0x{0:X8})", a << 1 );
Console.WriteLine("a << 2 : {0:D5} (0x{0:X8})", a << 2 );
Console.WriteLine("a << 5 : {0:D5} (0x{0:X8})", a << 5 );
Console.WriteLine("\nTesting >> ...");
int b = 255;
Console.WriteLine("b : {0:D5} (0x{0:X8})", b);
Console.WriteLine("b >> 1 : {0:D5} (0x{0:X8})", b >> 1);
Console.WriteLine("b >> 2 : {0:D5} (0x{0:X8})", b >> 2);
Console.WriteLine("b >> 5 : {0:D5} (0x{0:X8})", b >> 5);
Console.WriteLine("\nTesting >> 2...");
int c = -255;
Console.WriteLine("c : {0:D5} (0x{0:X8})", c);
Console.WriteLine("c >> 1 : {0:D5} (0x{0:X8})", c >> 1);
Console.WriteLine("c >> 2 : {0:D5} (0x{0:X8})", c >> 2);
Console.WriteLine("c >> 5 : {0:D5} (0x{0:X8})", c >> 5);
}
}
}
|
cs |

실행 결과입니다.
'C#' 카테고리의 다른 글
할당 연산자 Assignment0perator (0) | 2022.07.19 |
---|---|
비트 논리 연산자 Bitwise0perator (0) | 2022.07.19 |
조건 연산자 Conditional0perator (0) | 2022.07.19 |
논리 연산자 Logical0perator (0) | 2022.07.19 |
관계 연산자 Relational0perator (0) | 2022.07.19 |