본문 바로가기
C#(CSharp)/기초강좌(Basic)

[6] C# 비트와이즈 오퍼레이터. Misc(기타) 오퍼레이터(Bitwise, Misc Operators)

by swconsulting 2015. 2. 23.

1) 비트 연산 오퍼레이터 (Bitwise Operators)

2진수 비트단위 연산에 사용하는 연산자입니다. 외울려고하지 말고 이해를 하고 지나가도록 노력해 봅시다. 대학교를 졸업했으면 거의 한번에 이해가 다될 것입니다.





 


[연산 예제]

A값은 60, B값은 13일라고 가정하고 아래 연산을 계산해 보겠습니다.


A = 0011 1100 

B = 0000 1101 

----------------- 

A&B = 0000 1100 

A|B = 0011 1101 

A^B = 0011 0001 

~A  = 1100 0011 


<Sample Code>

void BitwiseOperators()

        {

            int a = 60;            /* 60 = 0011 1100 */              

            int b = 13;            /* 13 = 0000 1101 */            

            int c = 0;            

 

            c = a & b;           /* 12 = 0000 1100 */              

            Console.WriteLine("Line 1 - Value of c is {0}", c ); 

            c = a | b;           /* 61 = 0011 1101 */

            Console.WriteLine("Line 2 - Value of c is {0}", c); 

            c = a ^ b;           /* 49 = 0011 0001 */

            Console.WriteLine("Line 3 - Value of c is {0}", c); 

            c = ~a;               /*-61 = 1100 0011 */

            Console.WriteLine("Line 4 - Value of c is {0}", c); 

            c = a << 2;         /* 240 = 1111 0000 */

            Console.WriteLine("Line 5 - Value of c is {0}", c);

            c = a >> 2;          /* 15 = 0000 1111 */ 

            Console.WriteLine("Line 6 - Value of c is {0}", c);

 

        }


[출력]

Line 1 - Value of c is 12 

Line 2 - Value of c is 61 

Line 3 - Value of c is 49

Line 4 - Value of c is -61

Line 5 - Value of c is 240 

Line 6 - Value of c is 15 



2) Misc Operators (기타 오퍼레이터)


마지막으로 C#에서 중요한 operator인 sizeof, typeof,  ? : 등 에 대해서 간단하게 알아보겠습니다.





 


프로그램을 개발하면서 후에 typeof를 이용해서 클래스 타입을 알아와야 하는 경우가 많을 것입니다. 이때 사용해야 하는 키워드 입니다. sizeof는 객체의 데이타 사이즈를 알아오는 오퍼레이터이다. 


아래 샘플코드를 보면 이해가 바로 될 것이다.


<sample code>

void MiscOperators()

        {

            /* example of sizeof operator */

            Console.WriteLine("The size of int is {0}"sizeof(int));

            Console.WriteLine("The size of short is {0}"sizeof(short));

            Console.WriteLine("The size of double is {0}"sizeof(double));

           

            /* example of ternary operator */         

            int a, b;

            a = 10;

            b = (a == 1) ? 20 : 30;

            Console.WriteLine("Value of b is {0}", b);

 

            b = (a == 10) ? 20 : 30;

            Console.WriteLine("Value of b is {0}", b);

            Console.ReadLine();

        }

 

[출력]

 

The size of int is 4

The size of short is 2

The size of double is 8

Value of b is 30

Value of b is 20



참고 : http://www.tutorialspoint.com/csharp/index.htm