본문 바로가기
C#

비트 연산자 Shift0perator

by JAESEONG LEE- developer 2022. 7. 19.

비트 연산자 설명

& 대응되는 비트가 모두 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