Namespaces
Variants

std::bit_reverse

Von de.cppreference.net
 
 
Dienstprogrammbibliothek
Sprachunterstützung
Typunterstützung (grundlegende Typen, RTTI)
Bibliotheks-Feature-Test-Makros (C++20)
Programm-Dienstprogramme
Variadische Funktionen
Koroutinenunterstützung (C++20)
Vertragsunterstützung (C++26)
Dreiveg-Vergleich
(C++20)
(C++20)(C++20)(C++20)    
(C++20)(C++20)(C++20)

Allgemeine Dienstprogramme
Relationale Operatoren (veraltet in C++20)
Ganzzahlvergleichsfunktionen
(C++20)(C++20)(C++20)    
(C++20)
Tausch und Typoperationen
(C++14)
(C++11)
(C++11)
(C++11)
(C++17)
Gemeinsame Vokabeltypen
(C++11)
(C++17)
(C++17)
(C++17)
(C++11)
(C++17)
(C++23)



 
 
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

#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)