공부/c언어
[c언어] 비트 시프트 연산자를 이용한 프로그램
bugwasd
2011. 8. 9. 20:44
비트 시프트 연산자를 이용한 프로그램
>>(오른쪽 시프트) 연산은 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;
}
// 실행 결과