Está en la página 1de 1

#define _CRT_SECURE_NO_WARNINGS

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>

//Declaración de funciones
int cambiarBits(int, int, int);
// DEFINICIONES DE VARIABLES
//int opcion; //opción elegida del menú
int x = 0, y = 0, z = 0;
long y1 = 0, x1 = 0;

printf("Ejercicio 7: cambiar bits\n");


do
{
printf("Introduzca un número entero positivo: ");
scanf("%d", &y);
}
while (y >= 0);
{
printf("Posición del bit inical a invertir: ");
scanf("%d", &z);
/* Introducimos un número en decimal que se muestra en
binario */

printf("Número de bits a invertir: ");


scanf("%d", &y1);
//Llamar a la función cambiar bits

x = cambiarBits(y, z, y1);

printf("El número entero modificado es: %d\n\n", x);

}
if (y < 0)
{
return -1;
}

//Función cambiar bits


int cambiarBits(int nPos, int n, int pos)
{
int i = 0, mascara = 0;
int resultado;
while (i < nPos)
{
mascara |= 1 << (pos - i);
i++;
}
resultado = n ^ mascara;
return resultado;
}

También podría gustarte