비트 조작 (C++20부터)
From ko.cppreference.net
개별 비트 및 비트 시퀀스에 접근, 조작 및 처리하기 위한 여러 함수 템플릿을 제공합니다.
헤더
<bit> | |
에 정의됨
std | |
(C++20) |
한 타입의 객체 표현을 다른 타입의 객체 표현으로 재해석합니다 (함수 템플릿) |
(C++23) |
주어진 정수 값의 바이트 순서를 반전시킵니다 (함수 템플릿) |
2의 정수 거듭제곱 |
|
|
(C++20)
|
숫자가 2의 정수 거듭제곱인지 확인합니다
2
(함수 템플릿) |
|
(C++20)
|
주어진 값보다 작지 않은 가장 작은 2의 정수 승을 찾음
(함수 템플릿) |
|
(C++20)
|
주어진 값보다 크지 않은 가장 큰
2
의 정수 거듭제곱을 찾음
(함수 템플릿) |
|
(C++20)
|
주어진 값을 표현하는 데 필요한 최소 비트 수를 찾습니다
(함수 템플릿) |
시프트 연산 (C++29부터) | |
(C++29) |
정의되지 않은 동작 가능성 없이 왼쪽으로 시프트 (함수 템플릿) |
(C++29) |
정의되지 않은 동작 가능성 없이 오른쪽으로 시프트 (함수 템플릿) |
회전 |
|
|
(C++20)
|
비트 단위 왼쪽 회전의 결과를 계산합니다
(함수 템플릿) |
|
(C++20)
|
비트 단위 우측 회전 결과를 계산합니다
(함수 템플릿) |
카운팅 |
|
|
(C++20)
|
최상위 비트부터 시작하여 연속된
0
비트의 개수를 셉니다
(함수 템플릿) |
|
(C++20)
|
최상위 비트부터 시작하여 연속된
1
비트의 개수를 셉니다
(함수 템플릿) |
|
(C++20)
|
최하위 비트부터 시작하여 연속된
0
비트의 개수를 셉니다
(함수 템플릿) |
|
(C++20)
|
최하위 비트부터 시작하여 연속된
1
비트의 개수를 셉니다
(함수 템플릿) |
|
(C++20)
|
부호 없는 정수에서
1
비트의 개수를 셉니다
(함수 템플릿) |
순열 (C++29 이후) | |
(C++29) |
정수 내 비트 순서를 뒤집음 (함수 템플릿) |
(C++29) |
지정된 길이의 비트 패턴을 반복/브로드캐스트함 (함수 템플릿) |
(C++29) |
마스크를 사용하여 피연산자의 비트를 압축함 (PEXT) (함수 템플릿) |
(C++29) |
마스크를 사용하여 피연산자에서 비트를 확장함 (PDEP) (함수 템플릿) |
엔디안 |
|
|
(C++20)
|
스칼라 타입의 엔디언을 나타냅니다
(enum) |
참고 사항
| 기능 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_bit_cast |
201806L |
(C++20) | std::bit_cast |
__cpp_lib_bitops |
201907L |
(C++20) | 비트 연산 |
202606L |
(C++29) | 비트 순열 | |
__cpp_lib_int_pow2 |
202002L |
(C++20) | 2의 정수 거듭제곱 연산 |
__cpp_lib_byteswap |
202110L |
(C++23) | std::byteswap |
참고 항목
|
C documentation
for
Bit manipulation
|