Partager via


operator^

Obtient OR de bits exclusif (XOR) entre les éléments correspondants de deux valarrays également classés ou entre un valarray et une valeur spécifiée du type d'élément.

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

Paramètres

  • _Left
    Le premier des deux valarrays dont les éléments respectifs sont d'être associés aux opérateurs de bits XOR ou une valeur spécifiée du type d'élément à associer au niveau de le bit à chaque élément d'un valarray.

  • _Right
    Le deuxième les deux valarrays dont les éléments respectifs sont d'être associés aux opérateurs de bits XOR ou une valeur spécifiée du type d'élément à associer au niveau de le bit à chaque élément d'un valarray.

Valeur de retour

Un valarray dont les éléments sont la combinaison en ce qui concerne l'élément au niveau de le bit de l'exécution de XOR d' _Left et d' _Right.

Notes

Une opération de bits peut être utilisée pour manipuler des bits d' char et les types de données et les variantes d' int et non sur float, double, long double, voidbool ou autre, des types de données plus complexes.

OR de bits exclusif (XOR) a la sémantique suivante : Les bits donnés b1ou b2, b1XORb2est true si exactement un des bits est vrai ; false si les deux bits sont ou false si les deux bits sont vrais.

Exemple

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

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

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

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

   vaLAA = ( vaL ^ vaR );
   cout << "The element-by-element result of "
        << "the bitwise XOR operator^ is the\n valarray: ( ";
           for ( i = 0 ; i < 10 ; i++ )
         cout << vaLAA [ i ] << " ";
   cout << ")." << endl;
}
  
  
  

Configuration requise

en-tête : <valarray>

l'espace de noms : DST