Namespaces
Variants

ビット操作 (C++20 以降)

From ja.cppreference.net
 
 
ユーティリティライブラリ
言語サポート
型サポート (基本型、RTTI)
ライブラリ機能テストマクロ (C++20)
プログラムユーティリティ
可変引数関数
コルーチンサポート (C++20)
契約サポート (C++26)
三方比較
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

汎用ユーティリティ
関係演算子 (C++20 で非推奨)
整数比較関数
(C++20)(C++20)(C++20)    
(C++20)
Swap および 型操作
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
共通の語彙型
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 

個々のビットやビット列にアクセス、操作、処理するための複数の関数テンプレートを提供します。

ヘッダ <bit>
名前空間 std
(C++20)
ある型のオブジェクト表現を別の型のものとして解釈する
(関数テンプレート)
(C++23)
指定された整数値のバイト順を反転する
(関数テンプレート)
2の整数乗
数値が2の整数乗であるかどうかをチェックする 2
(関数テンプレート)
(C++20)
指定された値以上の最小の2の整数乗を求める
(関数テンプレート)
(C++20)
指定された値以下の最大の 2 のべき乗を求める
(関数テンプレート)
(C++20)
指定された値を表現するために必要な最小ビット数を求める
(関数テンプレート)
シフト (C++29 から)
(C++29)
未定義動作の可能性なく左シフトを行う
(関数テンプレート)
(C++29)
未定義動作の可能性なく右シフトを行う
(関数テンプレート)
回転
(C++20)
ビット単位の左回転の結果を計算する
(関数テンプレート)
(C++20)
ビット単位の右回転の結果を計算する
(関数テンプレート)
カウンティング
最上位ビットから開始して、連続する ​ 0 ​ ビットの数を数える
(関数テンプレート)
(C++20)
最上位ビットから開始して、連続する 1 ビットの数を数える
(関数テンプレート)
最下位ビットから開始して、連続する ​ 0 ​ ビットの数を数える
(関数テンプレート)
(C++20)
最下位ビットから開始して、連続する 1 ビットの数を数える
(関数テンプレート)
(C++20)
符号なし整数の 1 ビットの数を数える
(関数テンプレート)
順列 (C++29 から)
整数のビットを反転する
(関数テンプレート)
指定された長さのビットパターンを繰り返す/ブロードキャストする
(関数テンプレート)
マスクを使用してオペランドのビットを圧縮する (PEXT)
(関数テンプレート)
マスクを使用してオペランドからビットを展開する (PDEP)
(関数テンプレート)
エンディアン
(C++20)
スカラ型のエンディアンを示す
(enum)

注記

機能テスト マクロ 値 標準 機能
__cpp_lib_bit_cast 201806L (C++20) std::bit_cast
__cpp_lib_bitops 201907L (C++20) ビット操作
202606L (C++29) ビット順列
__cpp_lib_int_pow2 202002L (C++20) 整数の2のべき演算
__cpp_lib_byteswap 202110L (C++23) std::byteswap

関連項目

C documentation for Bit manipulation