Exportar (0) Imprimir
Expandir todo
Este artículo se tradujo de forma manual. Mueva el puntero sobre las frases del artículo para ver el texto original. Más información.
Traducción
Original

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

Encabezado: <valarray>

Espacio de nombres: std

Adiciones de comunidad

AGREGAR
Mostrar:
© 2015 Microsoft