Standard library header <bit>

From cppreference.com
< cpplrm; | header

This header is part of the numeric library.

Functions

reinterpret the object representation of one type as that of another
(function template)
checks if a number is an integral power of two
(function template)
finds the smallest integral power of two not less than the given value
(function template)
finds the largest integral power of two not greater than the given value
(function template)
finds the smallest number of bits needed to represent the given value
(function template)

Synopsis

namespace std {
    template<typename To, typename From>
    constexpr To bit_cast(const From& from) noexcept;

    template <class T>
    constexpr bool ispow2(T x) noexcept;

    template <class T>
    constexpr T ceil2(T x) noexcept;

    template <class T>
    constexpr T floor2(T x) noexcept;

    template <class T>
    constexpr T log2p1(T x) noexcept;
}