일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- do it c
- C++
- 포트폴리오
- tips강좌
- ListBox
- 유료강좌
- mfc 실습
- 김성엽
- linux
- 정보처리기사
- MFC 예제
- MyThread
- Time
- 도움말
- MFC
- C언어
- 미가공
- SSG
- MyTread
- win32
- visual
- C
- 핵심 요약
- 실습
- mysql
- 충무창업큐브
- 정처기 독학
- 마이크로소프트
- 별찍기
- Tipsware
- Today
- Total
목록비트 연산자 (3)
History

*비트 연산자란? 비트 연산자는 비트 단위로 AND, OR, NOT, XOR 연산을 수행한다. AND(&) 연산- (A=A&B)==(A&=B) - 두 값을 비트 단위로 AND연산을 수행. - 두 비트 값이 1일 때만 1을 반환. - 둘 중 하나의 비트 값이 0이면 0을 반환 0000 1111(0x0F) & 0011 1100(0x3C) ----------------- 0000 1100(0x0C) OR(|) 연산- (A=A|B)==(A|=B) - 두 값을 비트 단위로 OR 연산을 수행. - 둘 중 하나의 비트가 1이면 1을 반환. - 둘 다 0인 비트가 있을 때 0을 반환 0000 1111(0x0F) | 0011 1100(0x3C) ----------------- 0011 1111(0x3F) NOT(~) 연..

*시프트 연산자의 기능 시프트 연산자()는 변수의 값을 지정한 비트 수만큼 왼쪽 또는 오른쪽으로 비트를 이동시키는 기능을 한다. 예시는 아래 코드와 같다. unsigned char data= 0x1A; //변수 오른쪽에서 왼쪽 이동 //이동 전-> 0001 1010 data= data> 이동할 비트 수 -> 왼쪽에서 오른쪽으로 이동 //이동 전-> 0001 1010 data= data>>2; //2칸을 왼쪽에서 오른쪽으로 밀겠다 //이동 후-> 0000 0110 위의 예시처럼 이동한 비트들이 할당된 메모리의 크기를 벗어나면 해당 비트들은 사라지고 비트가 이동한 빈자리에는 0이 채워진다. 비트가 왼쪽으로 이동해서 사라지는 것을 오버플로(overflow) 비트가 오른쪽으로 이동해서 사라지는 것을 언더 플로(..

일반적으로 비트는 0 또는 1을 저장할 수 있는 공간이다. 예를 들면 전등을 제어하려고 한다. 전등은 키는 동작 그리고 끄는 동작이다. 전등은 이 두 가지로 제어할 수 있다. 문자 그대로 "켜지다, 꺼지다" 이렇게 제어하면 문자열을 처리해야 하기 때문에 보통 0이면 끄는 동작 1이면 키는 동작으로 우리는 약속하고 있다. 이러한 상황에서 우리는 0과 1을 비트로 제어할 수 있다. 그러나 비트연산자를 잘 모르면 자료형 중에서 가장 작은 단위인 char(1바이트==8비트)를 사용해서 0과 1을 대입하여서 전등을 제어할 것이다. 물론 전등이 1개만 있는 경우에는 괜찮지만 800개의 전등이 있을 시 char로 전등을 제어하면 800바이트를 사용할 수밖에 없다. 그러나 비트로 전등을 제어하면 100바이트로 전등을 ..