Funciones integradas del compilador GCC

Estas son cuatro importantes funciones integradas en el compilador GCC: 
 

  1. __builtin_popcount(x): esta función se utiliza para contar el número de uno (bits establecidos) en un número entero. 
    Ejemplo: 
     
if x = 4
binary value of 4 is 100
Output: No of ones is 1.
  1.  

C

// C program to illustrate _builtin_popcount(x)
 
#include <stdio.h>
int main()
{
    int n = 5;
     
    printf("Count of 1s in binary of %d is %d ",
           n, __builtin_popcount(n));
    return 0;
}
  1.  
Producción: 

Count of 1s in binary of 5 is 2

 

  1. Nota: Del mismo modo, puede usar __builtin_popcountl(x) y __builtin_popcountll(x) para tipos de datos largos y largos.
  2. __builtin_parity(x): esta función se utiliza para comprobar la paridad de un número. Esta función devuelve verdadero (1) si el número tiene paridad impar; de lo contrario, devuelve falso (0) para paridad par. 
    Ejemplo: 
     
if x = 7
7 has odd no. of 1's in its binary(111).
Output: Parity of 7 is 1 
  1.  

C

// C program to illustrate _builtin_parity(x)
 
#include <stdio.h>
int main()
{
    int n = 7;
     
    printf("Parity of %d is %d ",
           n, __builtin_parity(n));
    return 0;
}
  1.  
Producción: 

Parity of 7 is 1

 

  1. Nota: Del mismo modo, puede usar __builtin_parityl(x) y __builtin_parityll(x) para tipos de datos largos y largos.
  2. __builtin_clz(x): esta función se utiliza para contar los ceros iniciales del entero. Nota: clz = cuenta los ceros iniciales 
    Ejemplo: cuenta el número de ceros antes de la primera aparición de uno (bit establecido). 
     
a = 16
Binary form of 16 is 00000000 00000000 00000000 00010000
Output: 27
  1.  

C

// C program to illustrate __builtin_clz(x)
#include <stdio.h>
int main()
{
    int n = 16;
     
    printf("Count of leading zeros before 1 in %d is %d",
           n, __builtin_clz(n));
    return 0;
}
  1.  
Producción: 

Count of leading zeros before 1 in 16 is 27

 

  1. Nota: __builtin_clz(x) Esta función solo acepta valores sin firmar 
    Nota: Del mismo modo, puede usar __builtin_clzl(x) y __builtin_clzll(x) para tipos de datos largos y largos.
  2. __builtin_ctz(x): Esta función se usa para contar los ceros finales del entero dado. Nota: ctz = contar ceros finales. 
    Ejemplo: cuente el número de ceros desde la última hasta la primera aparición de uno (bit establecido). 
     
a = 16
Binary form of 16 is 00000000 00000000 00000000 00010000
Output: ctz = 4
  1.  

C

// C program to illustrate __builtin_ctz(x)
#include <stdio.h>
int main()
{
    int n = 16;
     
    printf("Count of zeros from last to first "
           "occurrence of one is %d",
           __builtin_ctz(n));
    return 0;
}
  1.  
Producción: 

Count of zeros from last to first occurrence of one is 4

 

  1. Nota: Del mismo modo, puede usar __builtin_ctzl(x) y __builtin_ctzll(x) para tipos de datos largos y largos.

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *