Bit manipulation (since C++20)
From cppreference.com
Provides several function templates to access, manipulate, and process individual bits and bit sequences.
Defined in header
<bit> | ||
Defined in namespace
std | ||
(C++20) |
reinterpret the object representation of one type as that of another (function template) | |
(C++23) |
reverses the bytes in the given integer value (function template) | |
Integral powers of 2 | ||
(C++20) |
checks if a number is an integral power of 2 (function template) | |
(C++20) |
finds the smallest integral power of two not less than the given value (function template) | |
(C++20) |
finds the largest integral power of two not greater than the given value (function template) | |
(C++20) |
finds the smallest number of bits needed to represent the given value (function template) | |
Rotating | ||
(C++20) |
computes the result of bitwise left-rotation (function template) | |
(C++20) |
computes the result of bitwise right-rotation (function template) | |
Counting | ||
(C++20) |
counts the number of consecutive 0 bits, starting from the most significant bit (function template) | |
(C++20) |
counts the number of consecutive 1 bits, starting from the most significant bit (function template) | |
(C++20) |
counts the number of consecutive 0 bits, starting from the least significant bit (function template) | |
(C++20) |
counts the number of consecutive 1 bits, starting from the least significant bit (function template) | |
(C++20) |
counts the number of 1 bits in an unsigned integer (function template) | |
Endian | ||
(C++20) |
indicates the endianness of scalar types (enum) |