Namespaces
Variants

Standard library header <stdbit.h> (C++26)

From cppreference.net
Standard library headers

이 헤더는 원래 C 표준 라이브러리에 있었습니다 ( <stdbit.h> ).

이 C 호환성 헤더는 general utility 라이브러리의 일부로, 특히 개별 비트와 비트 시퀀스에 접근, 조작 및 처리를 위한 여러 함수 템플릿을 제공합니다. 스칼라 타입의 바이트 순서(엔디언)는 __STDC_ENDIAN_NATIVE__ 기능을 통해 검사할 수 있습니다.

<stdbit.h> 가 네임스페이스 std 에 어떤 선언을 제공하는지는 명시되지 않았습니다.


목차

함수

상수

시놉시스

#define __STDC_VERSION_STDBIT_H__ 202311L
#define __STDC_ENDIAN_BIG__    /* 설명 참조 */
#define __STDC_ENDIAN_LITTLE__ /* 설명 참조 */
#define __STDC_ENDIAN_NATIVE__ /* 설명 참조 */
unsigned int stdc_leading_zeros_uc(unsigned char value);
unsigned int stdc_leading_zeros_us(unsigned short value);
unsigned int stdc_leading_zeros_ui(unsigned int value);
unsigned int stdc_leading_zeros_ul(unsigned long int value);
unsigned int stdc_leading_zeros_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_leading_zeros(T value);
unsigned int stdc_leading_ones_uc(unsigned char value);
unsigned int stdc_leading_ones_us(unsigned short value);
unsigned int stdc_leading_ones_ui(unsigned int value);
unsigned int stdc_leading_ones_ul(unsigned long int value);
unsigned int stdc_leading_ones_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_leading_ones(T value);
unsigned int stdc_trailing_zeros_uc(unsigned char value);
unsigned int stdc_trailing_zeros_us(unsigned short value);
unsigned int stdc_trailing_zeros_ui(unsigned int value);
unsigned int stdc_trailing_zeros_ul(unsigned long int value);
unsigned int stdc_trailing_zeros_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_trailing_zeros(T value);
unsigned int stdc_trailing_ones_uc(unsigned char value);
unsigned int stdc_trailing_ones_us(unsigned short value);
unsigned int stdc_trailing_ones_ui(unsigned int value);
unsigned int stdc_trailing_ones_ul(unsigned long int value);
unsigned int stdc_trailing_ones_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_trailing_ones(T value);
unsigned int stdc_first_leading_zero_uc(unsigned char value);
unsigned int stdc_first_leading_zero_us(unsigned short value);
unsigned int stdc_first_leading_zero_ui(unsigned int value);
unsigned int stdc_first_leading_zero_ul(unsigned long int value);
unsigned int stdc_first_leading_zero_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_first_leading_zero(T value);
unsigned int stdc_first_leading_one_uc(unsigned char value);
unsigned int stdc_first_leading_one_us(unsigned short value);
unsigned int stdc_first_leading_one_ui(unsigned int value);
unsigned int stdc_first_leading_one_ul(unsigned long int value);
unsigned int stdc_first_leading_one_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_first_leading_one(T value);
unsigned int stdc_first_trailing_zero_uc(unsigned char value);
unsigned int stdc_first_trailing_zero_us(unsigned short value);
unsigned int stdc_first_trailing_zero_ui(unsigned int value);
unsigned int stdc_first_trailing_zero_ul(unsigned long int value);
unsigned int stdc_first_trailing_zero_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_first_trailing_zero(T value);
unsigned int stdc_first_trailing_one_uc(unsigned char value);
unsigned int stdc_first_trailing_one_us(unsigned short value);
unsigned int stdc_first_trailing_one_ui(unsigned int value);
unsigned int stdc_first_trailing_one_ul(unsigned long int value);
unsigned int stdc_first_trailing_one_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_first_trailing_one(T value);
unsigned int stdc_count_zeros_uc(unsigned char value);
unsigned int stdc_count_zeros_us(unsigned short value);
unsigned int stdc_count_zeros_ui(unsigned int value);
unsigned int stdc_count_zeros_ul(unsigned long int value);
unsigned int stdc_count_zeros_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_count_zeros(T value);
unsigned int stdc_count_ones_uc(unsigned char value);
unsigned int stdc_count_ones_us(unsigned short value);
unsigned int stdc_count_ones_ui(unsigned int value);
unsigned int stdc_count_ones_ul(unsigned long int value);
unsigned int stdc_count_ones_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_count_ones(T value);
bool stdc_has_single_bit_uc(unsigned char value);
bool stdc_has_single_bit_us(unsigned short value);
bool stdc_has_single_bit_ui(unsigned int value);
bool stdc_has_single_bit_ul(unsigned long int value);
bool stdc_has_single_bit_ull(unsigned long long int value);
template<class T>
bool stdc_has_single_bit(T value);
unsigned int stdc_bit_width_uc(unsigned char value);
unsigned int stdc_bit_width_us(unsigned short value);
unsigned int stdc_bit_width_ui(unsigned int value);
unsigned int stdc_bit_width_ul(unsigned long int value);
unsigned int stdc_bit_width_ull(unsigned long long int value);
template<class T>
/* 설명 참조 */ stdc_bit_width(T value);
unsigned char          stdc_bit_floor_uc(unsigned char value);
unsigned short         stdc_bit_floor_us(unsigned short value);
unsigned int           stdc_bit_floor_ui(unsigned int value);
unsigned long int      stdc_bit_floor_ul(unsigned long int value);
unsigned long long int stdc_bit_floor_ull(unsigned long long int value);
template<class T>
T stdc_bit_floor(T value);
unsigned char          stdc_bit_ceil_uc(unsigned char value);
unsigned short         stdc_bit_ceil_us(unsigned short value);
unsigned int           stdc_bit_ceil_ui(unsigned int value);
unsigned long int      stdc_bit_ceil_ul(unsigned long int value);
unsigned long long int stdc_bit_ceil_ull(unsigned long long int value);
template<class T>
T stdc_bit_ceil(T value);

참고 항목

(C++20)
비트 조작 함수