// Programa en C para convertir un número dado a su complemento a 2
#incluir
// Una función para convertir la representación decimal a binaria de un número
int decToBinario(int n)
{
int número binario[32];
intyo =0;
mientras (n> 0)
{
númerobinario[i] =n % 2;
norte =norte / 2;
yo ++;
}
para (int j =i - 1; j>=0; j--)
printf("%d", número binario[j]);
printf("\n");
}
// Una función para convertir binario a su complemento a 2
int binarioTo2sComplemento(int binarioNum[], int n)
{
ent i;
para (i =0; i
para (i =n - 1; i>=0; i--)
{
si (númerobinario[i] ==0)
númerobinario[i] =1;
demás
romper;
}
}
// programa controlador
int principal()
{
int n;
printf("Ingrese un número decimal:");
scanf("%d", &n);
decToBinario(n);
printf("Su complemento a 2 es:");
int número binario[32];
longitud interna =32;
int decToBin =decToBinary(n);
binarioTo2sComplemento(binaryNum, len);
decToBinario(decToBin);
devolver 0;
}
```
Producción:
```
Introduzca un número decimal:10
1010
Su complemento a 2 es:0101
```