numeric_countl_zero
numeric_countl_zero (최상위 비트부터 연속 0 비트 개수)
std::countl_zero은 x의 값에서 최상위 비트("왼쪽")부터 시작해 연속된 0 비트가 몇 개인지 세는 함수예요. C++20부터 사용할 수 있어요.
출처: cppreference
본문
<bit> 헤더에 정의되어 있고, 시그니처는 다음과 같아요.
template< class T >
constexpr int countl_zero( T x ) noexcept;
(since C++20)
x의 값에서 최상위 비트부터 시작해 연속된 0 비트의 개수를 반환해요.
매개변수 (Parameters)
- x — 비트를 셀 값
타입 요구사항 (Type requirements)
- T — 오버로드 해석에 참여하려면 부호 없는 정수 타입이어야 해요.
반환값 (Return value)
x의 값에서 최상위 비트부터 시작한 연속 0 비트의 개수예요.
참고 (Notes)
| 피처 테스트 매크로 | 값 | 표준 | 기능 |
|---|---|---|---|
__cpp_lib_bitops |
201907L | (C++20) | 비트 연산 |
예제 (Example)
이 코드를 실행해 봐요.
#include <bit>
#include <bitset>
#include <cstdint>
#include <iostream>
int main()
{
for (const std::uint8_t i : {0, 0b11111111, 0b11110000, 0b00011110})
std::cout << "countl_zero( " << std::bitset<8>(i) << " ) = "
<< std::countl_zero(i) << '\n';
}
출력:
countl_zero( 00000000 ) = 8
countl_zero( 11111111 ) = 0
countl_zero( 11110000 ) = 0
countl_zero( 00011110 ) = 3