operator|

Obtiene OR bit a bit entre los elementos correspondientes de dos valarrays igualmente ordenados o entre un valarray y un valor especificado del tipo de elemento.

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

Parámetros

  • _Left
    El primero de los dos valarrays cuyos elementos respectivos son combinarse con OR bit a bit o un valor especificado del tipo de elemento es bit a bit combinado con cada elemento de un valarray.

  • _Right
    El segundo de los dos valarrays cuyos elementos respectivos son combinarse con OR bit a bit o un valor especificado del tipo de elemento es bit a bit combinado con cada elemento de un valarray.

Valor devuelto

un valarray cuyos elementos son la combinación elemento-sabia de la operación bit a bit de OR de _Left y de _Right.

Comentarios

Una operación bit a bit sólo se puede utilizar para manipular los bits en char y los tipos de datos y las variantes de int y no en Hacer flotante, Doble, Más Doble, void, bool u otro, más tipos de datos complejos.

El bit a bit OR tiene la misma tabla de true que ORlógico, pero se aplica al tipo de datos en el nivel de bits individuales.Los bits especificados b1y b2, b1OR b2son TRUE si por lo menos uno de los bits es true o Falso si ambos bits son ficticios.OR lógicooperador|| aplica en un nivel de elemento, contando todos los valores distintos de cero como TRUE, y el resultado es un valarray de valores booleanos.El bit a bit OR operator|, por el contrario, puede producir un valarray de valores distintos de 0 u 1, dependiendo de la operación bit a bit.

Ejemplo

// valarray_op_bitor.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 OR operator| is the\n valarray: ( ";
      for (i = 0 ; i < 10 ; i++ )
         cout << vaLAA [ i ] << " ";
   cout << ")." << endl;
}
  
  
  

Requisitos

encabezado: <valarray>

espacio de nombres: std