검수요청.png검수요청.png

"비트연산자"의 두 판 사이의 차이

해시넷
이동: 둘러보기, 검색
9번째 줄: 9번째 줄:
  
 
== 특징 ==
 
== 특징 ==
=== 종 류 ===
+
=== 논리 연산자 ===
 
:{|class=wikitable width=1000 style="background-color:#ffffee"
 
:{|class=wikitable width=1000 style="background-color:#ffffee"
 
|+비트 연산자
 
|+비트 연산자
28번째 줄: 28번째 줄:
 
|align=center|~
 
|align=center|~
 
|align=center|비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산)
 
|align=center|비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산)
 +
|-
 +
|}
 +
 +
==== AND 연산자 ====
 +
논리 연산자는 (&,│,^,~)로 이루어져 있으며 비트 논리 연산자는 그 대상이 boolean타입일 경우에는 일반 논리 연산자로 활용되지만 대상이 정수형일 경우에는 위의 표와 같이 비트 논리연산자로 활용한다. 비트 연산은 두 값을 비트 단위로 나열한 뒤 각 자릿수를 비트 연산자로 연산한다. 각 자릿수의 연산은 독립적이며 다른 자릿수에 영향을 주지 않는다. <ref name="논리연산자">〈[https://coding-factory.tistory.com/521 논리 연산자의 종류]〉, 《코딩 팩토리》</ref>
 +
 +
[[파일:And 연산자.PNG|400픽셀|섬네일|AND 연산자 예시]]
 +
 +
'''&(AND연산)'''
 +
 +
:{|class=wikitable width=300 style="background-color:#ffffee"
 +
|+
 +
!align=center colspan="2" style="background-color:#ffee88"|AND 연산 결과
 +
|-
 +
|align=center style="background-color:#ffeecc"|입력값
 +
|align=center style="background-color:#ffeecc"|반환값
 +
|-
 +
|align=center|0, 0
 +
|align=center|0
 +
|-
 +
|align=center|0, 1
 +
|align=center|0
 +
|-
 +
|align=center|1, 0
 +
|align=center|0
 +
|-
 +
|align=center|1, 1
 +
|align=center|1
 +
|-
 +
|}
 +
 +
&연산(논리곱)은 2진수로 표현된 2개의 피연산자를 AND연산 하여 결과를 나타냅니다. <br> 2진수로 표현된 두 비트가 모두 1일 경우에만 연산결과가 1로 표현됩니다.
 +
<ref name="논리연산자"></ref>
 +
 +
 +
 +
 +
 +
 +
==== OR 연산자 ====
 +
 +
[[파일:Or 연산자.PNG|400픽셀|섬네일|OR 연산자 예시]]
 +
'''│(OR연산)'''
 +
 +
 +
=== 이동 연산자 ===
 +
:{|class=wikitable width=1000 style="background-color:#ffffee"
 +
|+비트 연산자
 +
!align=center style="background-color:#ffeecc"|종 류
 +
!align=center style="background-color:#ffeecc"|연산자
 +
!align=center style="background-color:#ffeecc"|설 명
 
|-
 
|-
 
|align=center rowspan="3"|이동 연산자
 
|align=center rowspan="3"|이동 연산자
40번째 줄: 91번째 줄:
 
|}
 
|}
  
==== 논리 연산자 ====
 
논리 연산자는 (&,│,^,~)로 이루어져 있으며 비트 논리 연산자는 그 대상이 boolean타입일 경우에는 일반 논리 연산자로 활용되지만 대상이 정수형일 경우에는 위의 표와 같이 비트 논리연산자로 활용한다. 비트 연산은 두 값을 비트 단위로 나열한 뒤 각 자릿수를 비트 연산자로 연산한다. 각 자릿수의 연산은 독립적이며 다른 자릿수에 영향을 주지 않는다. <ref name="논리연산자">〈[https://coding-factory.tistory.com/521 논리 연산자의 종류]〉, 《코딩 팩토리》</ref>
 
 
'''&(AND연산)'''
 
[[파일:and 연산자.png|300픽셀|섬네일|가운데|AND 연산자 예시]]
 
  
 
{{각주}}
 
{{각주}}

2020년 8월 10일 (월) 12:00 판

비트 연산자(bitwise operator)는 비트 연산자는 비트(bit) 단위로 논리 연산을 할 때 사용하는 연산자이다. 비트는 바이트 단위보다 더 작은 단위이며, 2진수를 저장한다. 즉 컴퓨터에서 사용할 수 있는 최소 단위이다. 또한 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때도 사용한다. [1]

개요

비트 연산자는 데이터를 비트 단위로 연산한다. 그러므로 0과 1로 표현이 가능한 정수 타입만 비트 연산이 가능하다. 비트 연산자는 기능에 따라 비트 이동 연산자, 비트 논리 연산자로 구분된다. [1]


특징

논리 연산자

비트 연산자
종 류 연산자 설 명
논리 연산자 & 대응 되는 비트가 모두 1이면 1을 반환한다. (비트 AND 연산)
대응되는 비트 중에서 하나라도 1이면 1을 반환함. (비트 OR 연산)
^ 대응되는 비트가 서로 다르면 1을 반환함. (비트 XOR 연산)
~ 비트를 1이면 0으로, 0이면 1로 반전시킴. (비트 NOT 연산)

AND 연산자

논리 연산자는 (&,│,^,~)로 이루어져 있으며 비트 논리 연산자는 그 대상이 boolean타입일 경우에는 일반 논리 연산자로 활용되지만 대상이 정수형일 경우에는 위의 표와 같이 비트 논리연산자로 활용한다. 비트 연산은 두 값을 비트 단위로 나열한 뒤 각 자릿수를 비트 연산자로 연산한다. 각 자릿수의 연산은 독립적이며 다른 자릿수에 영향을 주지 않는다. [2]

AND 연산자 예시

&(AND연산)

AND 연산 결과
입력값 반환값
0, 0 0
0, 1 0
1, 0 0
1, 1 1

&연산(논리곱)은 2진수로 표현된 2개의 피연산자를 AND연산 하여 결과를 나타냅니다.
2진수로 표현된 두 비트가 모두 1일 경우에만 연산결과가 1로 표현됩니다. [2]




OR 연산자

OR 연산자 예시

│(OR연산)


이동 연산자

비트 연산자
종 류 연산자 설 명
이동 연산자 << 비트값을 주어진 숫자만큼 왼쪽으로 이동 시킨 후 빈자리는 0으로 채운다. (left shift 연산)
>> 비트값을 주어진 숫자만큼 오른쪽으로 이동 시킨 후 빈자리는 정수 a의 최상의 부호비트와 같은 값으로 채운다. (right shift 연산)
>>> (자바에만 존재)비트 값을 주어진 숫자 만큼 오른쪽으로 이동 시킨 후 빈공간을 모두 0으로 채운다(left shift 연산)


각주

  1. 1.0 1.1 비트 연산자〉, 《TCP SCHOOL》
  2. 2.0 2.1 논리 연산자의 종류〉, 《코딩 팩토리》

참고 자료

같이 보기


  검수요청.png검수요청.png 이 비트연산자 문서는 프로그래밍에 관한 글로서 검토가 필요합니다. 위키 문서는 누구든지 자유롭게 편집할 수 있습니다. [편집]을 눌러 문서 내용을 검토·수정해 주세요.