Para ver el artículo en inglés, active la casilla Inglés. También puede ver el texto en inglés en una ventana emergente si pasa el puntero del mouse por el texto.
Traducción
Inglés

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

_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.

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

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 flotante, double, long double, 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 false 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.

// 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;
}
El inicial Left valarray es:  (1 0 1 0 1 0 1 0 1 0).
El valarray derecho inicial es: (0 0 1 3 3 4 6 6 7 9).
El resultado de elemento-por- elemento de OR bit a bit de operador| es
 valarray: (1 0 1 3 3 4 7 6 7 9).

Requisitos

Encabezado: <valarray>

Espacio de nombres: std

Mostrar: