std::countr_zero
提供: cppreference.com
<tbody>
</tbody>
| ヘッダ <bit> で定義
|
||
template<class T> constexpr int countr_zero(T x) noexcept; |
(C++20以上) | |
x の値の中の最下位ビット (右) からの連続する 0 のビットの数を返します。
このオーバーロードは、T が符号なし整数型 (すなわち unsigned char、 unsigned short、 unsigned int、 unsigned long、 unsigned long long、または拡張符号なし整数型) である場合にのみ、オーバーロード解決に参加します。
引数
| x | - | 符号なし整数型の値 |
戻り値
x の値の中の最下位ビットからの連続する 0 のビットの数。
例
Run this code
#include <bit>
#include <bitset>
#include <cstdint>
#include <initializer_list>
#include <iostream>
int main()
{
for (std::uint8_t i : { 0, 0b11111111, 0b00011100 }) {
std::cout << "countr_zero(0b" << std::bitset<8>(i) << ") = "
<< std::countr_zero(i) << '\n';
}
}
出力:
countr_zero(0b00000000) = 8
countr_zero(0b11111111) = 0
countr_zero(0b00011100) = 2
関連項目
(C++20) |
最上位ビットから連続する0のビットの数を数えます (関数テンプレート) |
(C++20) |
最上位ビットから連続する1のビットの数を数えます (関数テンプレート) |
(C++20) |
最下位ビットから連続する1のビットの数を数えます (関数テンプレート) |
(C++20) |
符号なし整数の1のビットの数を数えます (関数テンプレート) |