operator>> (<valarray>)

Rechtsschiebe die Bits für jedes Element eines Wertarrays ein angegebene Anzahl von Positionen oder eine elementweise Menge angegeben durch einen zweiten Wertearray.

template<class Type>
   valarray<Type> operator>>(
      const valarray<Type>& _Left,
      const valarray<Type>& _Right
   );
template<class Type>
   valarray<Type> operator>>(
      const valarray<Type>& _Left,
      const Type& _Right
  );
template<class Type>
   valarray<Type> operator>>(
      const Type& _Left,
      const valarray<Type>& _Right
   );

Parameter

  • _Left
    Der bewegt werden Wert oder der Wertarray, dessen Elemente verschoben werden sollen.

  • _Right
    Der Wert, der die Menge des Vorzeichens nach rechts angeben oder Wertarray, dessen Elemente mit elementweise Menge des Vorzeichens nach rechts angeben.

Rückgabewert

Ein Wertearray, dessen Elemente verschoben rechts von der angegebenen Menge wurden.

Hinweise

Zahlen mit Vorzeichen haben ihre beibehaltenen Zeichen.

Beispiel

// valarray_op_rs.cpp
// compile with: /EHsc
#include <valarray>
#include <iostream>

int main( )
{
   using namespace std;
   int i;

   valarray<int> vaL ( 8 ), vaR ( 8 );
   valarray<int> vaNE ( 8 );
   for ( i = 0 ; i < 8 ; i += 2 )
      vaL [ i ] =  64;
   for ( i = 1 ; i < 8 ; i += 2 )
      vaL [ i ] =  -64;
   for ( i = 0 ; i < 8 ; i++ )
      vaR [ i ] =  i;
   
   cout << "The initial Left valarray is: ( ";
      for ( i = 0 ; i < 8 ; i++ )
         cout << vaL [ i ] << " ";
   cout << ")." << endl;

   cout << "The initial Right valarray is: ( ";
      for ( i = 0 ; i < 8 ; i++ )
         cout << vaR [ i ] << " ";
   cout << ")." << endl;

   vaNE = ( vaL >> vaR );
   cout << "The element-by-element result of "
        << "the right shift is the\n valarray: ( ";
      for ( i = 0 ; i < 8 ; i++ )
         cout << vaNE [ i ] << " ";
   cout << ")." << endl;
}
  
  
  

Anforderungen

Header: <valarray>

Namespace: std