最終更新日時: 2026年07月02日 16時06分27秒 (JST)
rotarymars が更新

履歴 編集

<bit>

# 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

## ビットカウント

名前 | 説明 | 対応バージョン
--- | --- | ---
`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