función bit_and en C++

bit_and es una función incorporada en C++ que se usa para devolver los valores después de aplicar bitwise_and en sus argumentos (como los devuelve el operador &).

template  struct bit_and 
{
  T operator() (const T& a, const T& b) const {return a&b;}
  typedef T type of first_argument;
  typedef T type of second_argument;
  typedef T result_type;
};

T es el tipo de todos los argumentos.

Nota:

  1. Los objetos de esta clase se pueden usar en algoritmos estándar como transformar o acumular.
  2. Las funciones miembro (‘operador()’) devuelven bitwise_and de sus argumentos.

Debemos incluir la biblioteca ‘funcional’ y ‘algoritmo’ para usar bit_and y transform respectivamente, de lo contrario no funcionarán.

A continuación se muestran los programas para mostrar el funcionamiento de la función bit_and :
Programa-1:

// C++ program to show the 
// functionality of bit_and
#include <algorithm> // transform
#include <functional> // bit_and
#include <iostream> // cout
#include <iterator> // end
using namespace std;
  
int main()
{
    // declaring the values
    int xyz[] = { 500, 600, 300, 800, 200 };
    int abc[] = { 0xf, 0xf, 0xf, 255, 255 };
    int n = 5;
    // defining results
    int results[n];
  
    // transform is used to apply
    // bitwise_and on the arguments
    transform(xyz, end(xyz), abc,
              results, bit_and<int>());
  
    // printing the resulting array
    cout << "Results:";
    for (const int& x : results)
        cout << ' ' << x;
  
    return 0;
}
Producción:

Results: 4 8 12 32 200

Programa-2:

// C++ program to show the 
// functionality of bit_and
#include <algorithm> // transform
#include <functional> // bit_and
#include <iostream> // cout
#include <iterator> // end
using namespace std;
  
int main()
{
    // declaring the values
    int xyz[] = { 0, 1100 };
    int abc[] = { 0xf, 0xf };
  
    // defining results
    int results[2];
    // transform is used to apply
    // bitwise_and on the arguments
    transform(xyz, end(xyz), abc,
              results, bit_and<int>());
  
    // printing the resulting array
    cout << "Results:";
    for (const int& x : results)
        cout << ' ' << x;
  
    return 0;
}
Producción:

Results: 0 12

Publicación traducida automáticamente

Artículo escrito por shubham tyagi 4 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *