En este post, me gustaría mostrar con frecuencia hechas C-Preguntas frecuentes que están siendo encontradas en las entrevistas.
BIT-WISE Operadores C-Faqs :
1. Cómo configurar concreto bit en un número?
2. Cómo borrar todo bit en un número?
3. Cómo cambiar o voltear especial bit en un número
Para cambiar cualquier bit en un número, uso (^) operador OR exclusivo
= Número Número ^ (1 <
4.Cómo comprobar especial bit se pone o no en un número
Para comprobar cualquier bit en un número, uso (&) y el operador
‘X’ indica la posición del bit
5 para representar lo anterior en MACRO para el código de tiempo real <.? br />
# define SET_BIT (Número, bit_position) Número | = (1 <
# define CLEAR_BIT (Número, bit_position) Número & = ~ (1 <
# define TOGGLE_BIT (Número, bit_position) Número ^ = (1 <
# define CHECK_BIT_IS_SET_OR_NOT (Número, bit_position) y Número (1 <
6 para comprobar el número es par o impar
int main ()
{int numero />
scanf («% d», y el número );
si (número y 1) printf />
demás
printf («Es Número par n»);}
# include
int main ()
{/>
scanf («% d», & n);
#660000;»> 7 Cómo contar el número de 0 de los bits o unset en una serie
# include
# define CHAR_BYTE 8
int main ()
{
unsigned int num, count = 0, el índice;
printf («Escriba el número entero n»);
scanf («% d», & num);
for (index = 0; index <(CHAR_BYTE * sizeof (int)) ; index + +)
{
/ * comprobar el bit se pone a cero * /
if ((num y (1 <
}
printf («El número de presentes de Zero en entero:% d n», count);
return 0;
}
# include
int main () {
unsigned int n; printf />
scanf («% d «, & n);
# include
int main ()
{
int a, b ;
printf («Introduzca el valor de a y b n»);
scanf («% d% d», & a, & b);
a = a ^ b;
b = b ^ a;
a = a ^ b;
/ *
o
a = a + b;
b = a – b;
a = a – b; * /
printf («El valor de a:% d y b:% d n», a, b);
return 0;
}
10
para revertir una cadena. con cabo utilizando la variable temporal?# include
# include
# define LEN 100 / * Se puede cambiar * / int />
() {
caracteres str [LEN];
final int sin firmar, start = 0;
printf («Introduzca la cadena que se invierta n «);
scanf («% s «, str);
while (inicio
; str [Inicio] ^ = str [final];
empezar + +;
fin -;}
printf («La cadena inversa es :% s n «, str);
return 0;}
Por favor, consulte el tutorial de mapa de bits en el blog, es muy útil para aplicaciones en tiempo real.