029. 비트 연산자 이해하기(|, &, ~, ^, <<, >>)029. 비트 연산자 이해하기(|, &, ~, ^, <<, >>)
Posted at 2010. 11. 12. 03:18 | Posted in Computer/초보자를 위한 C 언어 300제#include <stdio.h>
main()
{
unsigned char ch = 255, mask = 0x7F;
printf( "%d \n",ch ); // 255
printf( "%d \n",ch & mask); // 127
printf( "%d \n",(char)~ch ); // 0
printf( "%d \n",ch ^ ch ); // 0
printf( "%d \n",ch >> 1 ); // 127
printf( "%d \n",mask << 1 ); // 254
}
관심있게 볼 부분은 mask이다. 이것은 IP Address와 Subnet Mask를 비트 마스크할 때와 같은 원리이다.
이러한 비트 연산자를 통해 빠른 연산을 할 수 있다.
물론 우리의 Desktop은 해당 사항은 별로 없을 것 같다.
아마 특수 형태 H/W, 예를 들면 방화벽에서는 빠른 연산이 필수 일 것이다.
'Computer > 초보자를 위한 C 언어 300제' 카테고리의 다른 글
| 031. sizeof 연산자 이해하기 (0) | 2010.11.13 |
|---|---|
| 030. 캐스트 연산자 이해하기 (0) | 2010.11.12 |
| 028. 쉼표 연산자 이해하기(,) (0) | 2010.11.12 |
| 027. 조건 연산자 이해하기(?:) (0) | 2010.11.12 |
| 026. 논리 연산자 이해하기(||, &&, !) (0) | 2010.11.12 |
028. 쉼표 연산자 이해하기(,)028. 쉼표 연산자 이해하기(,)
Posted at 2010. 11. 12. 03:12 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
main()
{
int x = 1, y = 2, max;
max = x > y? x : y;
printf( "max = %d, x = %d, y = %d", max, x, y );
}
'Computer > 초보자를 위한 C 언어 300제' 카테고리의 다른 글
| 030. 캐스트 연산자 이해하기 (0) | 2010.11.12 |
|---|---|
| 029. 비트 연산자 이해하기(|, &, ~, ^, <<, >>) (0) | 2010.11.12 |
| 027. 조건 연산자 이해하기(?:) (0) | 2010.11.12 |
| 026. 논리 연산자 이해하기(||, &&, !) (0) | 2010.11.12 |
| 025. 관계 연산자 이해하기(<, >, =, >=, <=, !=) (0) | 2010.11.12 |
027. 조건 연산자 이해하기(?:)027. 조건 연산자 이해하기(?:)
Posted at 2010. 11. 12. 03:10 | Posted in Computer/초보자를 위한 C 언어 300제
#include <stdio.h>
main()
{
int x = 1;
int y = 2;
int max;
max = x > y? x : y;
}
max = x > y? x : y > 5? y : x + y;
'Computer > 초보자를 위한 C 언어 300제' 카테고리의 다른 글
| 029. 비트 연산자 이해하기(|, &, ~, ^, <<, >>) (0) | 2010.11.12 |
|---|---|
| 028. 쉼표 연산자 이해하기(,) (0) | 2010.11.12 |
| 026. 논리 연산자 이해하기(||, &&, !) (0) | 2010.11.12 |
| 025. 관계 연산자 이해하기(<, >, =, >=, <=, !=) (0) | 2010.11.12 |
| 024. 증감 연산자 이해하기(++, --) (0) | 2010.11.12 |
