본문 바로가기
@lambone2025. 6. 11. 20:12

< 출처 >

- 강의명

C++ 코딩테스트 완전 정복 : 입문부터 실전 모의고사까지

 

- 목차

3-4 시뮬레이션 [40:48]

 

< 내용 >

비트셋을 활용하여 이진법으로 전환할 수 있다.

비트셋을 사용하기 위해서는 아래와 같이 헤더 파일을 추가한다.

#include <bitset>

 

- 비트셋 기능 활용 예시

#include <bitset>
#include <iostream>

using namespace std;

int main()
{
	// 5개의 비트를 갖는다. 초기값은 모두 0
	bitset <5> myBitset;

	myBitset.set(1); // bit1을 1로 설정, 00010
	myBitset.set(2); // bit2를 1로 설정, 00110
	cout << "1: " << myBitset << endl; // 00110

	myBitset.flip(1); // bit1을 플립
	cout << "2: " << myBitset << endl; // 00100

	myBitset.set(); // 모든 비트를 1로 설정 
	cout << "3: " << myBitset << endl; // 11111

	myBitset.reset(); // 모든 비트를 0으로 초기화
	cout << "4: " << myBitset << endl; // 00000

	return 0;
}
/*
1: 00110
2: 00100
3: 11111
4: 00000

*/

 

- 이진법 전환 사용 예시, 비트셋을 활용하여 이진법으로 전환하고 그 값을 string 타입으로 형변환

int onesCount = count(s.begin(), s.end(), '1');
s = bitset<32>(onesCount).to_string();
s = s.substr(s.find('1'));

 

'C++ > 알고리즘(Algorithm)' 카테고리의 다른 글

C++/동적 할당&메모리 누수  (0) 2025.06.14
C++/없는 숫자 더하기  (0) 2025.06.13
C++/시간복잡도  (0) 2025.06.11
C++/1부터 N까지 합계  (0) 2025.06.11
C++/자료형 유효 범위 확인, 콜라츠 추측  (0) 2025.06.10
lambone
@lambone :: Unreal Storage

Unreal 학습 기록

"거인의 어깨 위에 올라서라"

목차