namespace cpp

C++ lernen, kennen, anwenden

Benutzer-Werkzeuge

Webseiten-Werkzeuge


kennen:lib:rotl

rotl()

#include <bit>

T rotl (T x, int n)

Bitweise um n nach links rotieren.

Parameter

x vorzeichenlose Ganzzahl
n Anzahl der Stellen

Ergebnis

Rückgabewert: falls n

  • 0: x
  • positiv: (x << r) | (x >> (N - r))
  • negativ: rotr(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/rotl.txt · Zuletzt geändert: 2020-10-25 10:36 von rrichter