잔잔이네
article thumbnail
Published 2023. 6. 13. 11:49
[C++] 3.3 비트단위 연산자 개발/C++

1. 비트연산자


1.1. 비트연산자와 shift

<code />
#include <iostream> #include <bitset> //2진수로 바꿔주는 라이브러리 int main() { using namespace std; unsigned int a = 3; cout << std::bitset<4>(a) << endl; unsigned int b = a << 1; cout << std::bitset<4>(b) << " " << b << endl; return 0; }

bitset2진수로 바꿔주는 라이브러리이다.

 

bitset<4>(a)a라는 변수를 4bit로 출력해준다.

그 밑의 a << 1 의 “<<”은 비트연산자로 left shift인데

이 처럼 왼쪽으로 한칸 밀어준다.

<code />
#include <iostream> #include <bitset> //2진수로 바꿔주는 라이브러리 int main() { using namespace std; unsigned int a = 3; cout << std::bitset<8>(a << 1) << " " << (a << 1 ) << endl; cout << std::bitset<8>(a << 2) << " " << (a << 2) << endl; cout << std::bitset<8>(a << 3) << " " << (a << 3) << endl; cout << std::bitset<8>(a << 4) << " " << (a << 4) << endl; return 0; }

또한 << (left shift) 비트 연산자를 취할 때마다 3에 2의 제곱들을 곱하는 것을 알 수 있다.


1.2. 비트연산자의 not

<code />
unsigned int a = 1024; cout << std::bitset<16>(a) << endl; cout << std::bitset<16>(~a) << " " << (~a) << endl;

비트연산자에서 != 은 logical not이기때문에 ~를 사용한다.

 


 

profile

잔잔이네

@잔잔잔잔

🌈

검색 태그