```c
//Programa C para converter um determinado número em seu complemento de 2
#include
// Uma função para converter a representação decimal em binária de um número
int decToBinary(int n)
{
int binárioNum[32];
int eu =0;
enquanto (n> 0)
{
binárioNum[i] =n % 2;
n=n/2;
eu++;
}
para (int j =i - 1; j>=0; j--)
printf("%d",Numbinário[j]);
printf("\n");
}
// Uma função para converter binário em seu complemento de 2
int binárioTo2sComplement(int binárioNum[], int n)
{
int eu;
para (eu =0; eu binárioNum[i] =!binaryNum[i];
para (eu =n - 1; eu>=0; eu--)
{
if (binárioNum[i] ==0)
binárioNum[i] =1;
outro
quebrar;
}
}
//Programa driver
int principal()
{
intn;
printf("Digite um número decimal:");
scanf("%d",&n);
decToBinary(n);
printf("Seu complemento de 2 é:");
int binárioNum[32];
int len =32;
int decToBin =decToBinary(n);
binárioTo2sComplement(binárioNum, len);
decToBinary(decToBin);
retornar 0;
}
```
Saída:
```
Insira um número decimal:10
1010
Seu complemento de 2 é:0101
```