Partager via


operator&

Obtient de bits AND 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 AND 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 AND 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 de l'opération de bits AND exécution 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, longdouble, voidbool ou autre, des types de données plus complexes.

Opération de bits AND a la même table de vérité qu' AND logique mais s'applique au type de données au niveau de les bits.operator&& s'applique à un niveau d'élément, compter toutes les valeurs différentes de zéro comme valeur true, et le résultat est un valarray des valeurs booléennes.Opération de bits ANDoperator&, en revanche, peut entraîner un valarray des valeurs autres que 0 ou 1, selon les résultats de l'opération de bits.

Exemple

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

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

   valarray<int> vaL ( 10 ), vaR ( 10 );
   valarray<int> vaBWA ( 10 );
   for ( i = 0 ; i < 10 ; i += 2 )
      vaL [ i ] =  0;
   for ( i = 1 ; i < 10 ; i += 2 )
      vaL [ i ] =  i+1;
   for ( i = 0 ; i < 10 ; i++ )
      vaR [ i ] =  i;
   
   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;

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

Configuration requise

en-tête : <valarray>

l'espace de noms : DST