반응형
- 쉬프트 연산에 대해서 공부해보자
숫자 5를 2진수로 나타내면(8bit)
이제 5에다가 2를 곱해보자
5 * 2 = 10;
→ 여기서 알 수 있음. 1이 있는 비트들이 왼쪽으로 한칸씩 이동하는 것
즉 2를 곱할 때마다 한자리씩 높아짐
이 원래 어디서 많이 봤는데 ?
→ 2^0, 2^1, 2^2, 2^3, 2^4 … 자리 그대로가 이렇게 올라가는 거
쉬프트 연산으로 10을 만들어보자
#include <iostream>
int main()
{
int a = 5;
a = a << 1;
std::cout << a << std::endl;
}
이제는 숫자가 20인 상태에서 5를 만들어보자
#include <iostream>
int main()
{
int a = 20;
a = a >> 2;
std::cout << a << std::endl;
}
이 분 블로그를 토대로 공부하였습니다!
쉬프트 연산( << , >> )
음 보통 알고리즘 문제 풀거나 계산을 많이 하는 과정에서 *2를 하거나 /2를 하는 계산이 꽤나 많이 있는데....(2의 n승 전부)보통은 a *= 2, 또는 a /= 2 이런식으로 곱하기 나누기를 하지만 사실은 그
hahahia.tistory.com
반응형
'CS' 카테고리의 다른 글
inff, inf, nan, NAN (1) | 2024.01.26 |
---|---|
리터널, 상수 (0) | 2024.01.26 |
이진 기수법을 통한 고정 소수점과 부동 소수점 (2) | 2024.01.24 |
이진 기수법(이진법) (1) | 2024.01.24 |