Skip to content

Latest commit

 

History

History
83 lines (54 loc) · 3.32 KB

File metadata and controls

83 lines (54 loc) · 3.32 KB

bit

  • bit[meta header]
  • cpp20[meta cpp]

<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

関連項目

  • <stdbit.h> - C互換のビット操作ライブラリ

バージョン

言語

  • C++20