반응형
이번 강의는 비트 자리 이동 연산, 쉬프트 연산을 알아볼게요.
1. 왼쪽 쉬프트 <<
2. 오른쪽 쉬프트 >>
1. 왼쪽 쉬프트 <<
왼쪽 쉬프트 연산은 1자리를 이동할 때 2로 곱한 결과와 같습니다.
#include
int main()
{
unsigned u1 = 3, u2;
u2 = u1 << 4;//shl
printf("16진수: %X %X\n", u1, u2);
printf("10진수: %d %d\n", u1, u2);
int i1 = -3, i2;
i2 = i1 << 4;//shl
printf("16진수: %X %X\n", i1,i2);
printf("10진수: %d %d\n", i1, i2);
return 0;
}
2. 오른쪽 쉬프트 >>
오른쪽 쉬프트 연산은 1자리를 이동할 때 2로 나눈 결과와 같습니다.
#include
int main()
{
unsigned u1 = 48, u2;
u2 = u1 >> 4;//shr
printf("16진수: %X %X\n", u1, u2);
printf("10진수: %d %d\n", u1, u2);
int i1 = -48, i2;
i2 = i1 >> 4;//sar
printf("16진수: %X %X\n", i1, i2);
printf("10진수: %d %d\n", i1, i2);
return 0;
}
반응형
'C언어 > 언제나 C언어' 카테고리의 다른 글
^mask를 이용한 암호화, & mask를 이용한 이진수 출력 [언제나 C언어] (0) | 2020.06.24 |
---|---|
비트 연산 & | ^ ~ [언제나 C언어] (0) | 2020.06.22 |
비교 연산, 논리 연산의 도움을 받으세요. [언제나 C언어] (0) | 2020.06.18 |
논리 형식과 논리 연산 [언제나 C언어] (0) | 2020.06.11 |
이럴 때 나머지 연산을 사용하자. 0123401234012… [언제나 C언어] (0) | 2020.06.10 |