🔧 C23 ・ stdbit.h ・ C23
stdc_bit_ceil の使い方type stdc_bit_ceil(x);
指定値以上で最小の2の累乗を返すC23の型総称関数。ハッシュテーブルやバッファのサイズを2の累乗に切り上げたい時に使われる、高速なビット演算ベースの関数。 メモリアロケータやリングバッファの実装で、要求サイズを扱いやすい2の累乗へ丸める処理に使われる。
#include <stdbit.h>
#include <stdio.h>
int main(void) {
printf("%u\n", stdc_bit_ceil(20u));
return 0;
}
⚠️ 結果が戻り値型で表せない大きな値(その型で表せる最大の2のべき乗より大きい値)を渡すと未定義動作です。境界に近い値を扱うときは、呼ぶ前に範囲を確かめます。
アプリの関数リファレンスで引く(無料・登録不要) 関数一覧へ
stdc_bit_ceil と一緒に使う関数ckd_add
ckd_mul
ckd_sub
free_aligned_sized
free_sized
stdc_bit_floor
stdc_bit_width
stdc_count_ones
stdc_count_zeros
stdc_has_single_bit
stdc_leading_zeros
stdc_trailing_zeros
strndup
もっと先へ:ポインタ・メモリ・ファイル入出力・セキュアコーディングを含む全26トラックと、段位検定・模試のフルセットは完全版に収録しています。