std::bit_reverse
Von de.cppreference.net
| Definiert in Header <bit>
|
||
template< class T >
constexpr T bit_reverse( T x ) noexcept;
|
(seit C++29) | |
Gibt x mit umgekehrter Reihenfolge der Bits zurück.
Diese Überladung nimmt nur an der Überladungsauflösung teil, wenn T ein vorzeichenloser Integer-Typ ist (d. h., unsigned char, unsigned short, unsigned int, unsigned long, unsigned long long oder ein erweiterter vorzeichenloser Integer-Typ ist).
Parameter
| x | - | Wert eines vorzeichenlosen Integer-Typs |
Rückgabewert
x mit umgekehrter Reihenfolge der Bits.
Hinweise
Die Funktion wird typischerweise mit einem Intrinsic wie Clangs __builtin_bitreverse,rbit-Anweisung auf ARM-CPUs implementiert und hat denselben Effekt wie die.
| Feature-Test-Makro | Wert | Std | Feature |
|---|---|---|---|
__cpp_lib_bitops |
202606L |
(C++29) | Bitpermutationen |
Beispiel
Diesen Code ausführen
#include <bit>
#include <cstdint>
static_assert(
std::bit_reverse(
std::uint8_t{0b1010'0011}) ==
std::uint8_t{0b1100'0101} and
std::bit_reverse(
std::uint16_t{0b1010'0011}) ==
std::uint16_t{0b1100'0101'0000'0000}
);
int main() {}
Siehe auch
(C++20) |
berechnet das Ergebnis einer bitweisen Linksrotation (Funktionsschablone) |
(C++20) |
berechnet das Ergebnis einer bitweisen Rechtsrotation (Funktionsschablone) |
(C++23) |
kehrt die Bytes im angegebenen Integer-Wert um (Funktionsschablone) |