namespace cpp {}

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:rotr

rotr()

#include <bit>

T rotr (T x, int n)

Bitweise um n nach rechts rotieren.

Parameter

x vorzeichenlose Ganzzahl
n Anzahl der Stellen

Ergebnis

Rückgabewert: falls n

  • 0: x
  • positiv: (x >> r) | (x << (N - r))
  • negativ: rotl(x, -r)

mit r = n % N und N = std::numeric_limits<T>::digits.

Siehe auch

Beispiel

bit.cpp
#include <bit>
#include <iostream>
 
int main()
{
  auto n = 42u;
 
  std::cout << std::has_single_bit(n) << '\n';
  std::cout << std::bit_ceil(n) << '\n';
  std::cout << std::bit_floor(n) << '\n';
  std::cout << std::bit_width(n) << '\n';
 
  std::cout << std::rotl(n, 8) << '\n';
  std::cout << std::rotr(n, 8) << '\n';
 
  std::cout << std::countl_zero(n) << '\n';
  std::cout << std::countl_one(n) << '\n';
  std::cout << std::countr_zero(n) << '\n';
  std::cout << std::countr_one(n) << '\n';
 
  std::cout << std::popcount(n) << '\n';
}
kennen/lib/rotr.txt · Zuletzt geändert: 2020-10-25 10:36 von 127.0.0.1

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki