일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 미가공
- 별찍기
- 유료강좌
- linux
- Tipsware
- MFC
- MyThread
- mfc 실습
- MFC 예제
- mysql
- MyTread
- C++
- do it c
- 포트폴리오
- Time
- 정처기 독학
- 도움말
- C언어
- ListBox
- tips강좌
- C
- 정보처리기사
- 김성엽
- win32
- SSG
- 실습
- 별찍기 기초
- 마이크로소프트
- 충무창업큐브
- 핵심 요약
- Today
- Total
목록시프트 연산자 (3)
History
지금까지 개념을 설명하면서 쌓아온 실력을 실습해보는 시간이다. 아래 코드는 자신이 원하는 비트 번지를 0으로 바꿀 수 있는 함수이다. unsigned char ResetBit(unsigned char dest_data,unsigned char bit_num) //자신이 원하는 비트 번지를 바꾸는 함수 { if (bit_num bit_num; } return bit_state; } int main() { unsigned char data = 0x75; unsigned char bit_state; int i; printf("%X->", data); for ( i = 0; i < 8; i++){ //전체 비트를 바꾸기 위해 반복문 8번을 돌린다. bit_state = GetBit(data, 7 -i); //최..
*비트 연산자란? 비트 연산자는 비트 단위로 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(~) 연..
일반적으로 비트는 0 또는 1을 저장할 수 있는 공간이다. 예를 들면 전등을 제어하려고 한다. 전등은 키는 동작 그리고 끄는 동작이다. 전등은 이 두 가지로 제어할 수 있다. 문자 그대로 "켜지다, 꺼지다" 이렇게 제어하면 문자열을 처리해야 하기 때문에 보통 0이면 끄는 동작 1이면 키는 동작으로 우리는 약속하고 있다. 이러한 상황에서 우리는 0과 1을 비트로 제어할 수 있다. 그러나 비트연산자를 잘 모르면 자료형 중에서 가장 작은 단위인 char(1바이트==8비트)를 사용해서 0과 1을 대입하여서 전등을 제어할 것이다. 물론 전등이 1개만 있는 경우에는 괜찮지만 800개의 전등이 있을 시 char로 전등을 제어하면 800바이트를 사용할 수밖에 없다. 그러나 비트로 전등을 제어하면 100바이트로 전등을 ..