名前空間
変種

std::countl_zero

提供: cppreference.com
2019年8月20日 (火) 05:41時点におけるMilkpot (トーク | 投稿記録)による版 (ページの作成:「{{cpp/title|countl_zero}} {{cpp/numeric/navbar}} {{dcl begin}} {{dcl header | bit}} {{dcl | since=c++20 | template<class T> constexpr int countl_zero(T x) noexcept; }} {{...」)
(差分) ← 古い版 | 最新版 (差分) | 新しい版 → (差分)
<tbody> </tbody>
ヘッダ <bit> で定義
template<class T> constexpr int countl_zero(T x) noexcept;
(C++20以上)

x の値の中の最上位ビット (左) からの連続する0のビットの数を返します。

このオーバーロードは、T が符号なし整数型 (すなわち unsigned charunsigned shortunsigned intunsigned longunsigned long long、または拡張符号なし整数型) である場合にのみ、オーバーロード解決に参加します。

引数

x - 符号なし整数型の値

戻り値

x の値の中の最上位ビットからの連続する0のビットの数。

#include <bit>
#include <bitset>
#include <cstdint>
#include <initializer_list>
#include <iostream>

int main()
{
    for (std::uint8_t i : { 0, 0b11111111, 0b00011100 }) {
        std::cout << "countl_zero(0b" << std::bitset<8>(i) << ") = "
                  << std::countl_zero(i) << '\n';
    }
}

出力:

countl_zero(0b00000000) = 8
countl_zero(0b11111111) = 0
countl_zero(0b00011100) = 3

関連項目

最上位ビットから連続する1のビットの数を数えます
(関数テンプレート) [edit]
最下位ビットから連続する0のビットの数を数えます
(関数テンプレート) [edit]
最下位ビットから連続する1のビットの数を数えます
(関数テンプレート) [edit]
(C++20)
符号なし整数の1のビットの数を数えます
(関数テンプレート) [edit]