비트마스크

2020. 10. 19. 09:25programming

 

bit : 2진수의 1자리

> 예를 들어 8비트를 가지고 부호가 없는 정수 0 부터 255 까지를 표현

0 = 00000000

255 = 11111111

 

1. 비트 연산

1) AND 연산 (기호 : a & b ) : 둘다 1일 경우만 1, 둘중에 하나만 값이 0 이어도 결과는 0 이 된다.

ex) 111 & 101 = 101

ex) 101 & 100 = 100

ex) 001 & 100 = 0

 

2) OR 연산 (기호 : a | b ) : 둘중에 하나만 값이 1 이면 1, 둘다 0 일 경우만 0 이 된다.

ex) 101 | 100 = 101

ex) 011 | 100 = 111

ex) 1000 | 0101 = 1101

 

3) XOR 연산 (기호 : a ^ b ) : 둘이 같은 값 (11 or 00) 이면 0 이 되고, 둘이 다른 값 (10 or 01) 이면 1 이 된다.

ex) 101 ^ 111 = 010

ex) 1011 ^ 0100 = 1111

ex) 1011 ^ 1100 = 0111

 

4) NOT 연산 (기호 : ~a ) : 두개의 비트 값에 대한 연산이 아닌 단일 비트값에 대하여 적용하는 연산이다. 각 자릿수를 반대값으로 뒤집는다. 즉, 0 인경우 1로 바꾸고, 1 인 경우 0 으로 바꾼다.

ex) ~(1011) = 0100

ex) ~(0011) = 1100

 

5) LEFT SHIFT 연산 (기호 : a << b ) : 값 a 의 모든 각 자릿수의 비트를 좌측으로 b 번 만큼 민다. (우측에는 b개의 0 이 붙는다)

ex) 1 << 5 = 100000

ex) (1 << 5) - 1 = 11111

ex) 1011 << 2 = 101100

 

6) RIGHT SHIFT 연산 (기호 : a >> b ) : 값 a 의 모든 각 자릿수의 비트를 우측으로 b 번 만큼 민다. (좌측에는 b개의 0 이 붙는다)

ex) 1101101 >> 2 = 11011

ex) 110010 >> 5 = 1

 

2. 16 진수

- 0~9,a,b,c,d,e,f 까지 십진수 15까지 표현, 이진수 1111, 십진수 16 = 10 = 이진수 10000

- 즉, 16진수 한자리가 4비트를 Full로 표현하므로, 비트를 나타내는데 좋음

- 0x 로 시작하면 16진수라는 표현임

 

 

대표사진 삭제

 

사진 설명을 입력하세요.

 

'programming' 카테고리의 다른 글

Java 8 (Spider)  (0) 2020.11.27
java 버전별 특징(1.0~1.7)  (0) 2020.11.25
JVM 이란  (0) 2020.10.30
객체지향 개발 원칙  (0) 2020.10.16