bit(C++20)
<bit>ヘッダでは、ビット操作のための機能を定義する。
フリースタンディング
このヘッダは、フリースタンディング処理系でも使用できる。本ヘッダが提供する全ての機能がフリースタンディング処理系で使用可能である。
変換
| 名前 |
説明 |
対応バージョン |
bit_cast |
ビットレベルの再解釈キャスト (function template) |
C++20 |
バイト入替
| 名前 |
説明 |
対応バージョン |
byteswap |
バイト単位入れ替え (function template) |
C++23 |
2の累乗整数
| 名前 |
説明 |
対応バージョン |
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 |
関連項目
バージョン
言語