- stdbit.h[meta header]
- function template[meta id-type]
- cpp26[meta cpp]
template<class T>
T stdc_bit_ceil(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 stdc_bit_ceil_ul(unsigned long value);
unsigned long long stdc_bit_ceil_ull(unsigned long long value);整数値を2の累乗値に切り上げる。
C言語の<stdbit.h>で定義される関数であり、C++においてはC互換性のために提供される。C言語では汎用版は型総称マクロ (type-generic macro) として定義されるが、C++では関数テンプレートとして提供される。
- 型
Tが符号なし整数型であること
value以上の最小の2の累乗値を返す。valueが0または1なら1を返す。
#include <stdbit.h>
#include <cassert>
#include <cstdint>
int main() {
assert(stdc_bit_ceil(static_cast<std::uint8_t>(5)) == 8);
assert(stdc_bit_ceil(static_cast<std::uint8_t>(1)) == 1);
assert(stdc_bit_ceil(static_cast<std::uint8_t>(0)) == 1);
// 型別関数
assert(stdc_bit_ceil_uc(static_cast<unsigned char>(5)) == 8);
}- stdc_bit_ceil[color ff0000]
- C++26
- Clang: 21 [mark verified]
- GCC: 15 [mark verified]
- Visual C++: 2026 Update 2 [mark noimpl]
std::bit_ceil- C++標準の対応する機能