비트 시프트 연산자를 이용한 프로그램
>>(오른쪽 시프트) 연산은 2로 나눈 효과를, <<(왼쪽 시프트) 연산은 2를 곱한 효과를 줌
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a=16, b=2;
char bin[17];
printf("변수 a의 값 : %3d\n", a);
printf("a>>2 (10진수) : %3d\n", a>>2);
printf("변수 b의 값 : %3d\n", b);
printf("b<<2 (10진수) : %3d\n", b<<2);
printf("\n");
itoa(a, bin, 2);
printf("a의 2진수 : %8s\n", bin);
itoa(a>>2, bin, 2);
printf("a>>2 결과 : %8s\n", bin);
itoa(b, bin, 2);
printf("b의 2진수 : %8s\n", bin);
itoa(b<<2, bin, 2);
printf("b<<2 결과 : %8s\n", bin);
return 0;
}
// 실행 결과
>>(오른쪽 시프트) 연산은 2로 나눈 효과를, <<(왼쪽 시프트) 연산은 2를 곱한 효과를 줌
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
int a=16, b=2;
char bin[17];
printf("변수 a의 값 : %3d\n", a);
printf("a>>2 (10진수) : %3d\n", a>>2);
printf("변수 b의 값 : %3d\n", b);
printf("b<<2 (10진수) : %3d\n", b<<2);
printf("\n");
itoa(a, bin, 2);
printf("a의 2진수 : %8s\n", bin);
itoa(a>>2, bin, 2);
printf("a>>2 결과 : %8s\n", bin);
itoa(b, bin, 2);
printf("b의 2진수 : %8s\n", bin);
itoa(b<<2, bin, 2);
printf("b<<2 결과 : %8s\n", bin);
return 0;
}
// 실행 결과
'개발지식창고 > C' 카테고리의 다른 글
전위 후위 증감 연산자, ++i, i++ 차이 (0) | 2012.09.28 |
---|---|
define함수 대신 template를 쓰자 (0) | 2010.09.20 |
define 대신 inline을 쓰자 (0) | 2010.09.20 |
C 문자열 함수 정리 (0) | 2010.09.20 |
BASE64 Encode/Decode (0) | 2010.09.20 |