- bit[meta header]
- cpp20[meta cpp]
<bit>ヘッダでは、ビット操作のための機能を定義する。
本ヘッダはフリースタンディング環境でも提供される。
| 名前 | 説明 | 対応バージョン |
|---|---|---|
bit_cast |
ビットレベルの再解釈キャスト (function template) | C++20 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
byteswap |
バイト単位入れ替え (function template) | C++23 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
has_single_bit |
1ビットだけ立っている値をもっているか判定する (function template) | C++20 |
bit_ceil |
整数値を2の累乗値に切り上げる (function template) | C++20 |
bit_floor |
整数値を2の累乗値に切り下げる (function template) | C++20 |
bit_width |
値を表現するために必要なビット幅を求める (function template) | C++20 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
rotl |
左循環ビットシフト (function template) | C++20 |
rotr |
右循環ビットシフト (function template) | C++20 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
shl |
左ビットシフト(未定義動作にならない) (function template) | C++29 |
shr |
右ビットシフト(未定義動作にならない) (function template) | C++29 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
bit_reverse |
ビット列の並びを反転する (function template) | C++29 |
bit_repeat |
最下位lビットのパターンを繰り返す (function template) |
C++29 |
bit_compress |
マスクで立っている位置のビットを下位へ詰める (function template) | C++29 |
bit_expand |
下位ビットをマスクで立っている位置へ展開する (function template) | C++29 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
countl_zero |
左から連続した0のビットを数える (function template) | C++20 |
countl_one |
左から連続した1のビットを数える (function template) | C++20 |
countr_zero |
右から連続した0のビットを数える (function template) | C++20 |
countr_one |
右から連続した1のビットを数える (function template) | C++20 |
popcount |
立っているビットを数える (function template) | C++20 |
| 名前 | 説明 | 対応バージョン |
|---|---|---|
endian |
バイトの並び順を表す列挙型 (enum) | C++20 |
<stdbit.h>- C互換のビット操作ライブラリ
- C++20