[C++] bitset

Kim Yuhyeon·2024년 3월 23일
0

C++

목록 보기
25/25

C++에서 제공하는 STL bitset은 0 또는 1 (True or False) 의 형태로 저장되고 비트들을 다루고 비트연산을 수행할 수 있는 다양한 멤버 함수를 지원한다.

https://en.cppreference.com/w/cpp/utility/bitset

bitset<비트 사이즈> 변수명;

으로 정의할 수 있고 변수에 초기값으로 int, floag, string 등을 넘겨 2진수로 변환하여 저장할 수 있다.

비트 연산

#include <iostream>
#include <bitset>

using namespace std;

int main(){
	int A = 5, B = 15;
	
	cout << A << "의 2진수 : " << bitset<4>(A) << "\n";
	cout << B << "의 2진수 : " << bitset<4>(B) << "\n";
	
	cout << A << "와 " << B << "의 AND 연산 : " << (bitset<4>(A & B)) << "\n";
	cout << A << "와 " << B << "의 OR 연산 : " << (bitset<4>(A | B)) << "\n";
	cout << A << "와 " << B << "의 XOR 연산 : " << (bitset<4>(A ^ B)) << "\n";
	cout << A << "의 NOT 연산 : " << (bitset<4>(~A))<< "\n";



	return 0;
}

1의 개수 세기

// bitset 중에서 1인 비트의 개수를 반환
int cnt = bitset<20>(n).count();

참고

0개의 댓글