C/Java - 비트 연산자 종류

CODEDRAGON Development/C, C++

반응형


 

 

비트 연산자(bitwise operator)

http://codedragon.tistory.com/1237

 

 

 

C/Java - 비트 연산자 종류

연산자

의미

&

비트 단위의 AND

두개의 비트가 모두 1이면 1 반환합니다.

 

n1 & n2;

|

비트 단위의 OR

두개의 비트 중에서 하나라도 1이면 1 반환합니다.

 

n1 | n2

^

배타적 OR(XOR)

두개의 비트가 서로 다르면 1 반환합니다.

 

n1 ^ n2;

~

비트 단위 NOT

피연산자의 모든 비트를 반전 시킨 결과를 반환합니다.

보수 연산으로 비트를 반전 시킵니다. , 비트를 1이면 0으로, 0이면 1 반전시킵니다.

 

~n1;

 

 

 

 

 

 

& 연산자

피연산자

연산자

피연산자

결과

0

&

0

0

0

&

1

0

1

&

0

0

1

&

1

1

 

 

result = n1 & n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=5

0

0

0

0

0

1

0

1

 

 

 

 

 

| 연산자

피연산자

연산자

피연산자

결과

0

|

0

0

0

|

1

1

1

|

0

1

1

|

1

1

 

 

 

 

result = n1 | n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=15

0

0

0

0

1

1

1

1

 

 

 

 

 

^ 연산자

피연산자

연산자

피연산자

결과

0

^

0

0

0

^

1

1

1

^

0

1

1

^

1

0

 

 

result = n1 ^ n2

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

n2=7

0

0

0

0

0

1

1

1

result=10

0

0

0

0

1

0

1

0

 

 

 

 

 

 

~ 연산자

연산자

피연산자

결과

~

0

1

~

1

0

 

 

result = ~n1

환산표

128

64

32

16

8

4

2

1

n1=13

0

0

0

0

1

1

0

1

result=242

1

1

1

1

0

0

1

0

 

2+16+32+64+128=242